From d8e78fa8610d65f6bfa23e0dd7070672f41ba3e4 Mon Sep 17 00:00:00 2001
From: zhangyanpeng <bob.zhang@highdatas.com>
Date: 星期六, 03 八月 2024 22:15:16 +0800
Subject: [PATCH] 调整

---
 js/foundation.js                                              |   22 +
 module/flow/page/flow_sales_list.html                         |  104 ++--
 module/visit/page/popup/popup_alert.html                      |  225 +++++++++++
 module/md/page/customer/page/customer_list_authorization.html |    4 
 module/visit/page/visit_schedule_list.html                    |  111 +++--
 js/common.js                                                  |    3 
 module/system/page/home/page/home_sale.html                   |  180 +++-----
 js/myelement.js                                               |   51 ++
 module/md/page/customer/page/customer_basic.html              |   34 +
 module/md/page/framework/page/territory_list.html             |    6 
 module/target/page/customer_target_list.html                  |    6 
 module/md/page/terminal/page/hospital_list_warehouse.html     |  185 ++++++---
 module/flow/page/flow_inventory_list.html                     |  104 ++--
 module/visit/page/visit_log_list.html                         |    1 
 module/visit/page/process_definition.html                     |  117 -----
 module/target/page/terminal_target_list.html                  |    4 
 16 files changed, 704 insertions(+), 453 deletions(-)

diff --git a/js/common.js b/js/common.js
index f9e6515..bb8060a 100644
--- a/js/common.js
+++ b/js/common.js
@@ -292,7 +292,8 @@
 	if (ocrtype == "bizLicense") {//钀ヤ笟鎵х収
 		
 	}
-	var url_ = baseUrl +'root/ocr/' + ocrtype + "?token=" + Root.getToken();
+	// var url_ = baseUrl +'root/ocr/' + ocrtype + "?token=" + Root.getToken();
+	var url_ = baseUrl +'starwaytestroot/ocr/' + ocrtype + "?token=" + Root.getToken();
 	
 	uploadAxios.post(url_, formData).then(data_ => {
 		// vue.$message({
diff --git a/js/foundation.js b/js/foundation.js
index 46bee04..05506e0 100644
--- a/js/foundation.js
+++ b/js/foundation.js
@@ -855,6 +855,9 @@
 		itemMap.formatter_percent = formatter_percent;
 		itemMap.formatter_split = formatter_split;
 		itemMap.formatter_password = formatter_password;
+		itemMap.formatter_replace = formatter_replace;
+		itemMap.formatter_replace = formatter_replace;
+		itemMap.formatter_replace_val = formatter_replace_val;
 		
 		
 		itemMap.prefixorunit = formatter_prefixorunit;
@@ -1886,6 +1889,25 @@
 	}
 	return cellValue;
 };
+// //鎷兼帴鐨勫瓧娈垫牸寮� format = "#{name}-{name}%"
+function formatter_replace(row, column, cellValue, index, format) {
+	// 鏈畬鎴�
+	// if (cellValue) {
+	// 	return toPercent(cellValue, digit);
+	// }
+	return cellValue;
+};
+// 鏇挎崲
+function formatter_replace(row, column, cellValue, index, replacefield) {
+	return row[replacefield];
+};
+// 鏈夊�兼浛鎹� cellValue 鏈夊�兼墠鏇挎崲
+function formatter_replace_val(row, column, cellValue, index, replacefield) {
+	if (cellValue) {
+		return row[replacefield]
+	}
+	return cellValue;
+};
 
 ////////////////闈為�氱敤鐨勬牸寮忓寲////////////////
 function formatter_earlyWarning(row, column, cellValue, index) {
diff --git a/js/myelement.js b/js/myelement.js
index 4a7bc36..9c453ab 100644
--- a/js/myelement.js
+++ b/js/myelement.js
@@ -153,6 +153,8 @@
 formatter_percent = window.top.formatter_percent;
 formatter_password = window.top.formatter_password;
 formatter_split = window.top.formatter_split;
+formatter_replace = window.top.formatter_replace;
+formatter_replace_val = window.top.formatter_replace_val;
 
 formatter_prefixorunit = window.top.formatter_prefixorunit;
 formatter_earlyWarning = window.top.formatter_earlyWarning;
@@ -1167,9 +1169,10 @@
 					' </template> '+
 					
 					' <template v-else-if="tableField.type == \'icon\'"> '+
-						' <i v-if="scope.row[tableField.field] && scope.row[tableField.field] != \'0\' && tableFieldClick[tableField.field] && tableFieldClick[tableField.field].val.onclick" :class="[tableField.icon, \'h_cellclick\']" '+
+						' <i v-if="scope.row[tableField.field] && scope.row[tableField.field] != \'0\' && tableFieldClick[tableField.field] && tableFieldClick[tableField.field].val.onclick" '+
+						' :class="[(tableFieldClick[tableField.field] && tableFieldClick[tableField.field].val) ? tableFieldClick[tableField.field].val.icon : \'\', \'h_cellclick\']" :style="{color: (tableFieldClick[tableField.field] && tableFieldClick[tableField.field].val) ? tableFieldClick[tableField.field].val.iconcolor : \'#000\'}"'+
 						' @click.stop="cellValClick(scope.row, tableField, scope.row[tableField.field], \'valclick\')"></i> '+
-						' <i v-else-if="scope.row[tableField.field] && scope.row[tableField.field] != \'0\'" :class="[tableField.icon, \'h_cellclick\']" ></i> '+
+						' <i v-else-if="scope.row[tableField.field] && scope.row[tableField.field] != \'0\'" :class="[(tableFieldClick[tableField.field] && tableFieldClick[tableField.field].val) ? tableFieldClick[tableField.field].val.icon : \'\']" :style="{color: (tableFieldClick[tableField.field] && tableFieldClick[tableField.field].val) ? tableFieldClick[tableField.field].val.iconcolor : \'#000\'}"></i> '+
 						
 						' <i v-else-if="!scope.row[tableField.field] && tableField.nullicon" :class="[tableField.nullicon]" ></i> '+
 						//' <i v-else></i> '+
@@ -1217,6 +1220,15 @@
 						//鏃犵偣鍑�
 						' <el-tag v-else size="small" :type="(tableField.tagtype && tableField.tagtype[scope.row[tableField.field]]) ? tableField.tagtype[scope.row[tableField.field]] : \'\'">{{tableFieldClick[tableField.field].defaultval.val}}</el-tag>'+
 					' </template> '+
+				' </template> '+
+				' <template v-else-if="tableField.type == \'icon\'"> '+
+					' <i v-if="scope.row[tableField.field] && scope.row[tableField.field] != \'0\' && tableFieldClick[tableField.field] && tableFieldClick[tableField.field].val.onclick" '+
+					' :class="[(tableFieldClick[tableField.field] && tableFieldClick[tableField.field].val) ? tableFieldClick[tableField.field].val.icon : \'\']" :style="{color: (tableFieldClick[tableField.field] && tableFieldClick[tableField.field].val) ? tableFieldClick[tableField.field].val.iconcolor : \'#000\', \'font-size\': \'24px\'}"'+
+					' @click.stop="cellValClick(scope.row, tableField, scope.row[tableField.field], \'valclick\')"></i> '+
+					' <i v-else-if="scope.row[tableField.field] && scope.row[tableField.field] != \'0\'" :class="[(tableFieldClick[tableField.field] && tableFieldClick[tableField.field].val) ? tableFieldClick[tableField.field].val.icon : \'\']" :style="{color: (tableFieldClick[tableField.field] && tableFieldClick[tableField.field].val) ? tableFieldClick[tableField.field].val.iconcolor : \'#000\', \'font-size\': \'24px\'}"></i> '+
+					
+					' <i v-else-if="!scope.row[tableField.field] && tableField.nullicon" :class="[tableField.nullicon]" ></i> '+
+					//' <i v-else></i> '+
 				' </template> '+
 				//濡傛灉娌℃湁tableField.type骞朵笖鏈夊��
 				' <template v-else-if="scope.row[tableField.field] || scope.row[tableField.field] === 0 || scope.row[tableField.field] === false"> '+
@@ -3546,12 +3558,17 @@
 				else if(e.formatter == "formatter_password") {
 					e.formatter_f = function(a,b,c,d) {return formatter_password(a,b,c,d)}
 				}
-				
 				else if(e.formatter == "formatter_earlyWarning") {
 					e.formatter_f = function(a,b,c,d) {return formatter_earlyWarning(a,b,c,d)}
 				}
-				
-				
+				else if(e.formatter == "formatter_replace") {
+					var format = e.formatpattern;//鏇挎崲鐨勫瓧娈垫牸寮�
+					e.formatter_f = function(a,b,c,d) {return formatter_replace(a,b,c,d, format)}
+				}
+				else if(e.formatter == "formatter_replace_val") {
+					var format = e.formatpattern;//鏇挎崲鐨勫瓧娈垫牸寮忥紝鏈夊�兼墠鏇挎崲
+					e.formatter_f = function(a,b,c,d) {return formatter_replace_val(a,b,c,d, format)}
+				}
 				
 			}
 			
@@ -6340,6 +6357,14 @@
 							var unit = e.suffix;//鍚庣紑鎴栧崟浣�
 							this.formDataFace[prop] = formatter_prefixorunit(null, null, value, null, prefix, unit);
 						}
+						else if(e.formatter == "formatter_replace") {
+							var format = e.formatpattern;//鎷兼帴鐨勫瓧娈垫牸寮� format = "#{name}-{name}%"
+							this.formDataFace[prop] = formatter_replace(this.formData, null, value, null, format);
+						}
+						else if(e.formatter == "formatter_replace_val") {
+							var format = e.formatpattern;//鏇挎崲鐨勫瓧娈垫牸寮忥紝鏈夊�兼墠鏇挎崲
+							this.formDataFace[prop] = formatter_replace_val(this.formData, null, value, null, format);
+						}
 						
 					}
 					
@@ -6444,6 +6469,14 @@
 						var prefix = e.prefix;//鍓嶇紑
 						var unit = e.suffix;//鍚庣紑鎴栧崟浣�
 						this.formDataFace[prop] = formatter_prefixorunit(null, null, value, null, prefix, unit);
+					}
+					else if(e.formatter == "formatter_replace") {
+						var format = e.formatpattern;//鎷兼帴鐨勫瓧娈垫牸寮� format = "#{name}-{name}%"
+						this.formDataFace[prop] = formatter_replace(this.formData, null, value, null, format);
+					}
+					else if(e.formatter == "formatter_replace_val") {
+						var format = e.formatpattern;//鏇挎崲鐨勫瓧娈垫牸寮忥紝鏈夊�兼墠鏇挎崲
+						this.formDataFace[prop] = formatter_replace_val(this.formData, null, value, null, format);
 					}
 					
 				}
@@ -7649,6 +7682,14 @@
 							var unit = e.suffix;//鍚庣紑鎴栧崟浣�
 							this.formDataFace[prop] = formatter_prefixorunit(null, null, value, null, prefix, unit);
 						}
+						else if(e.formatter == "formatter_replace") {
+							var format = e.formatpattern;//鏇挎崲鐨勫瓧娈垫牸寮�
+							this.formDataFace[prop] = formatter_replace(this.formData, null, value, null, format);
+						}
+						else if(e.formatter == "formatter_replace_val") {
+							var format = e.formatpattern;//鏇挎崲鐨勫瓧娈垫牸寮忥紝鏈夊�兼墠鏇挎崲
+							this.formDataFace[prop] = formatter_replace_val(this.formData, null, value, null, format);
+						}
 						
 					}
 					
diff --git a/module/flow/page/flow_inventory_list.html b/module/flow/page/flow_inventory_list.html
index a132704..b48fe3d 100644
--- a/module/flow/page/flow_inventory_list.html
+++ b/module/flow/page/flow_inventory_list.html
@@ -18,8 +18,8 @@
 						title: "搴撳瓨娴佸悜",
 						//Tab椤硅缃�
 						tabs_d: [
-							{code: "month", name: "鏈堟祦鍚�", dataname: "flow_daily_sell", filterTxt: "", orderby: ""},
-							{code: "daily", name: "鏃ユ祦鍚�", dataname: "flow_month_sell", filterTxt: "", orderby: ""},
+							{code: "month", name: "鏈堟祦鍚�", dataname: "flow_month_inv", filterTxt: "", orderby: ""},
+							{code: "daily", name: "鏃ユ祦鍚�", dataname: "flow_daily_inv", filterTxt: "", orderby: ""},
 						],
 						d_tabs: {
 							month: true,
@@ -41,6 +41,21 @@
 							{isshow: "T", field: "org_code", name: "缁忛攢鍟嗙紪鐮�", filterfield:"", filteroperator: "like", type: ""},
 							{isshow: "T", field: "org_name", name: "缁忛攢鍟嗗悕绉�", filterfield:"", filteroperator: "like", type: ""},
 						],
+						default_filterObj: {
+							month: {
+								dataversion: "鏈堝害鍒濈増"
+								//year: new Date().getFullYear().toString(),
+								//month: (new Date().getMonth() + 1).toString(),
+								// month: dateFormat(new Date(), "yyyy-MM"),
+								//month: new Date().getFullYear() + "-" + new Date().getMonth()+1,
+								// dataversion: "1"
+							},
+							daily: {
+								//year: new Date().getFullYear().toString(),
+								//month: (new Date().getMonth()+1).toString(),
+								// month: dateFormat(new Date(), "yyyy-MM"),
+							},
+						},
 						
 						cbuttons_r: {},
 						ctabs_r: {},
@@ -50,8 +65,14 @@
 						isSales: false,//閿�鍞汉鍛橈紙閿�鍞唬琛ㄣ�佸ぇ鍖虹粡鐞嗐�佸皬鍖虹粡鐞嗭級
 						isRegionR: false,//澶у尯缁忕悊
 						saveUser: null,//鐧诲綍鑰卛d
+						
+						newdate_month: "",
+						newdate_day: "",
+						
 					},
 					created() {
+						this.newdate_month = dateFormat(new Date(), "yyyy骞碝M鏈�")
+						this.newdate_day = dateFormat(new Date(), "yyyy骞碝M鏈坉d鏃�")
 						if (window.top.vue.userinfo) {
 							this.saveUser = window.top.vue.userinfo.id;
 							if (window.top.vue.userinfo.currentactor.code == "Capacity-Sale" || window.top.vue.userinfo.currentactor.code == "Capacity-Region-R" || window.top.vue.userinfo.currentactor.code == "Capacity-Region-M") {
@@ -176,6 +197,8 @@
 									if (!me.selectTabObj.filterFields || (me.selectTabObj.filterFields && me.selectTabObj.filterFields.length == 0)) {
 										me.selectTabObj.filterFields = clone(filterFields_);
 										me.selectTabObj.tableFields = clone(tableFields_);
+										
+										me.selectTabObj.filterObj = clone(me.default_filterObj[me.selectTabObj.code])
 										
 										//瀛楁鏁扮粍杞瓧娈祇bj锛岀洰鐨勪负浜嗙瓫閫夋椂鑾峰彇瀛楁灞炴��
 										me.fieldsToFieldsObj();
@@ -988,65 +1011,34 @@
 		<div v-cloak id="vbody">
 			<div id="page_root">
 				<div class="topbar">
-					<span>{{title}}</span>
+					<span  style="float: left;">{{title}}</span>
 
-					<div style="float: right;">
-						<el-button-group style="margin-left: 3px">
-							<el-button v-show="cbuttons_r.linkpharmacy" @click="onShowLinkPharmacy">鍏宠仈闄㈠搴�</el-button>
-							<el-button v-show="cbuttons_r.downloadTemplate" @click="DownloadTemplate">妯℃澘涓嬭浇</el-button>
-							<el-tooltip class="item" effect="dark" :content="buttonsconfig.clearandappend.tooltip" placement="top-start">
-								<el-button v-show="cbuttons_r.import" @click="onPopupByUploadFile":icon="buttonsconfig.clearandappend.icon">{{buttonsconfig.clearandappend.name}}</el-button>
-							</el-tooltip>
-							<el-button v-show="cbuttons_r.export" type="primary" @click="onDownload" :icon="buttonsconfig.export.icon">{{buttonsconfig.export.name}}</el-button>
-						</el-button-group>
-						<!-- <el-button 
-							v-show="cbuttons_r.Add && selectTabObj.code == 'hospital'" @click="addData":icon="buttonsconfig.add.icon">{{buttonsconfig.add.name}}
-						</el-button>
-						<el-button
-							v-show="cbuttons_r.Add && selectTabObj.code == 'hospital'"
-							:disabled="!(selectTabObj.selectedrow && selectTabObj.selectedrow.id)"
-							@click="onEditDataChange" :icon="buttonsconfig.change.icon">鍙樻洿
-						</el-button>
-
-						<el-button
-							v-show="cbuttons_r.Auth && selectTabObj.code == 'hospital'"
-							:disabled="!(selectTabObj.selectedrow && selectTabObj.selectedrow.id)"
-							@click="onAuthorize('add')" :icon="buttonsconfig.authorize.icon">鏂板鎺堟潈
-						</el-button>
-
-						<el-button-group v-show="selectTabObj.code == 'authorize'" style="margin-left: 3px;">
-							<el-button
-								v-show="cbuttons_r.Auth"
-								@click="onAuthorize('add')" :icon="buttonsconfig.authorize.icon">鏂板鎺堟潈
-							</el-button>
-							<el-button
-								v-show="cbuttons_r.Auth"
-								:disabled="!(selectTabObj.selectedrow && selectTabObj.selectedrow.id)"
-								@click="onAuthorize('change')" :icon="buttonsconfig.authorize.icon">鍙樻洿鎺堟潈
-							</el-button>
-							<el-button
-								v-show="cbuttons_r.Auth"
-								:disabled="!(selectTabObj.selectedrow && selectTabObj.selectedrow.id)"
-								type="danger"
-								@click="onAuthorize('delete')" :icon="buttonsconfig.authorize.icon">鍙栨秷鎺堟潈
-							</el-button>
+					<div style="float: right; margin-right: 18px;">
+						<el-button-group
+							v-if="selectTabObj && selectTabObj.code == 'month' && selectTabObj.filterObj.dataversion == '鏈堝害鍒濈増'"
+							style="margin-left: 3px;">
+							<el-button :disabled="!(selectTabObj.selectedrow && selectTabObj.selectedrow.biz_date)"
+								type="primary" @click="onAddSS" :icon="buttonsconfig.add.icon">鐢宠瘔</el-button>
 						</el-button-group>
 
-						<el-button-group v-show="selectTabObj.code == 'infoAll'" style="margin-left: 3px;">
-							<el-button
-								v-show="cbuttons_r.Add"
-								:disabled="!(selectTabObj.selectedrow && selectTabObj.selectedrow.id && (selectTabObj.selectedrow.state_code == 'Rejected' || selectTabObj.selectedrow.state_code == 'Input') && selectTabObj.selectedrow.create_id == saveUser)"
-								@click="reEditInfo" :icon="buttonsconfig.edit.icon">缂栬緫
-							</el-button>
+						<el-button-group style="margin-left: 3px;">
+							<el-button type="primary" @click=""
+								:icon="buttonsconfig.import.icon">{{buttonsconfig.import.name}}</el-button>
+							<el-button type="primary" @click=""
+								:icon="buttonsconfig.export.icon">{{buttonsconfig.export.name}}</el-button>
 						</el-button-group>
+					</div>
 
-						<el-button-group v-show="selectTabObj.code == 'authAll'" style="margin-left: 3px;">
-							<el-button
-								v-show="cbuttons_r.Auth"
-								:disabled="!(selectTabObj.selectedrow && selectTabObj.selectedrow.id && (selectTabObj.selectedrow.state_code == 'Rejected' || selectTabObj.selectedrow.state_code == 'Input') && selectTabObj.selectedrow.create_id == saveUser)"
-								@click="reEditAuth" :icon="buttonsconfig.edit.icon">缂栬緫
-							</el-button>
-						</el-button-group> -->
+					<div style="float: left; margin-left: 20%;">
+						<span>鎶ュ憡鏃ユ湡锛�</span>
+						<span v-if="selectTabObj && selectTabObj.code == 'month'">{{newdate_month}}</span>
+						<span v-if="selectTabObj && selectTabObj.code == 'daily'">{{newdate_day}}</span>
+						<el-radio-group style="margin-left: 10px;"
+							v-if="selectTabObj && selectTabObj.filterObj && selectTabObj.code=='month'"
+							v-model="selectTabObj.filterObj.dataversion" size="mini" fill="#4cb108">
+							<el-radio-button label="鏈堝害鍒濈増">鍒濈増</el-radio-button>
+							<el-radio-button label="鏈堝害缁堢増">缁堢増</el-radio-button>
+						</el-radio-group>
 					</div>
 				</div>
 
diff --git a/module/flow/page/flow_sales_list.html b/module/flow/page/flow_sales_list.html
index ed91521..3c4f134 100644
--- a/module/flow/page/flow_sales_list.html
+++ b/module/flow/page/flow_sales_list.html
@@ -18,8 +18,8 @@
 						title: "閿�鍞祦鍚�",
 						//Tab椤硅缃�
 						tabs_d: [
-							{code: "month", name: "鏈堟祦鍚�", dataname: "flow_daily_sell", filterTxt: "", orderby: ""},
-							{code: "daily", name: "鏃ユ祦鍚�", dataname: "flow_month_sell", filterTxt: "", orderby: ""},
+							{code: "month", name: "鏈堟祦鍚�", dataname: "flow_month_sell", filterTxt: "", orderby: ""},
+							{code: "daily", name: "鏃ユ祦鍚�", dataname: "flow_daily_sell", filterTxt: "", orderby: ""},
 						],
 						d_tabs: {
 							month: true,
@@ -41,6 +41,21 @@
 							{isshow: "T", field: "org_code", name: "缁忛攢鍟嗙紪鐮�", filterfield:"", filteroperator: "like", type: ""},
 							{isshow: "T", field: "org_name", name: "缁忛攢鍟嗗悕绉�", filterfield:"", filteroperator: "like", type: ""},
 						],
+						default_filterObj: {
+							month: {
+								dataversion: "鏈堝害鍒濈増"
+								//year: new Date().getFullYear().toString(),
+								//month: (new Date().getMonth() + 1).toString(),
+								// month: dateFormat(new Date(), "yyyy-MM"),
+								//month: new Date().getFullYear() + "-" + new Date().getMonth()+1,
+								// dataversion: "1"
+							},
+							daily: {
+								//year: new Date().getFullYear().toString(),
+								//month: (new Date().getMonth()+1).toString(),
+								// month: dateFormat(new Date(), "yyyy-MM"),
+							},
+						},
 						
 						cbuttons_r: {},
 						ctabs_r: {},
@@ -50,8 +65,14 @@
 						isSales: false,//閿�鍞汉鍛橈紙閿�鍞唬琛ㄣ�佸ぇ鍖虹粡鐞嗐�佸皬鍖虹粡鐞嗭級
 						isRegionR: false,//澶у尯缁忕悊
 						saveUser: null,//鐧诲綍鑰卛d
+						
+						newdate_month: "",
+						newdate_day: "",
+						
 					},
 					created() {
+						this.newdate_month = dateFormat(new Date(), "yyyy骞碝M鏈�")
+						this.newdate_day = dateFormat(new Date(), "yyyy骞碝M鏈坉d鏃�")
 						if (window.top.vue.userinfo) {
 							this.saveUser = window.top.vue.userinfo.id;
 							if (window.top.vue.userinfo.currentactor.code == "Capacity-Sale" || window.top.vue.userinfo.currentactor.code == "Capacity-Region-R" || window.top.vue.userinfo.currentactor.code == "Capacity-Region-M") {
@@ -176,6 +197,8 @@
 									if (!me.selectTabObj.filterFields || (me.selectTabObj.filterFields && me.selectTabObj.filterFields.length == 0)) {
 										me.selectTabObj.filterFields = clone(filterFields_);
 										me.selectTabObj.tableFields = clone(tableFields_);
+										
+										me.selectTabObj.filterObj = clone(me.default_filterObj[me.selectTabObj.code])
 										
 										//瀛楁鏁扮粍杞瓧娈祇bj锛岀洰鐨勪负浜嗙瓫閫夋椂鑾峰彇瀛楁灞炴��
 										me.fieldsToFieldsObj();
@@ -988,65 +1011,34 @@
 		<div v-cloak id="vbody">
 			<div id="page_root">
 				<div class="topbar">
-					<span>{{title}}</span>
+					<span  style="float: left;">{{title}}</span>
 
-					<div style="float: right;">
-						<el-button-group style="margin-left: 3px">
-							<el-button v-show="cbuttons_r.linkpharmacy" @click="onShowLinkPharmacy">鍏宠仈闄㈠搴�</el-button>
-							<el-button v-show="cbuttons_r.downloadTemplate" @click="DownloadTemplate">妯℃澘涓嬭浇</el-button>
-							<el-tooltip class="item" effect="dark" :content="buttonsconfig.clearandappend.tooltip" placement="top-start">
-								<el-button v-show="cbuttons_r.import" @click="onPopupByUploadFile":icon="buttonsconfig.clearandappend.icon">{{buttonsconfig.clearandappend.name}}</el-button>
-							</el-tooltip>
-							<el-button v-show="cbuttons_r.export" type="primary" @click="onDownload" :icon="buttonsconfig.export.icon">{{buttonsconfig.export.name}}</el-button>
-						</el-button-group>
-						<!-- <el-button 
-							v-show="cbuttons_r.Add && selectTabObj.code == 'hospital'" @click="addData":icon="buttonsconfig.add.icon">{{buttonsconfig.add.name}}
-						</el-button>
-						<el-button
-							v-show="cbuttons_r.Add && selectTabObj.code == 'hospital'"
-							:disabled="!(selectTabObj.selectedrow && selectTabObj.selectedrow.id)"
-							@click="onEditDataChange" :icon="buttonsconfig.change.icon">鍙樻洿
-						</el-button>
-
-						<el-button
-							v-show="cbuttons_r.Auth && selectTabObj.code == 'hospital'"
-							:disabled="!(selectTabObj.selectedrow && selectTabObj.selectedrow.id)"
-							@click="onAuthorize('add')" :icon="buttonsconfig.authorize.icon">鏂板鎺堟潈
-						</el-button>
-
-						<el-button-group v-show="selectTabObj.code == 'authorize'" style="margin-left: 3px;">
-							<el-button
-								v-show="cbuttons_r.Auth"
-								@click="onAuthorize('add')" :icon="buttonsconfig.authorize.icon">鏂板鎺堟潈
-							</el-button>
-							<el-button
-								v-show="cbuttons_r.Auth"
-								:disabled="!(selectTabObj.selectedrow && selectTabObj.selectedrow.id)"
-								@click="onAuthorize('change')" :icon="buttonsconfig.authorize.icon">鍙樻洿鎺堟潈
-							</el-button>
-							<el-button
-								v-show="cbuttons_r.Auth"
-								:disabled="!(selectTabObj.selectedrow && selectTabObj.selectedrow.id)"
-								type="danger"
-								@click="onAuthorize('delete')" :icon="buttonsconfig.authorize.icon">鍙栨秷鎺堟潈
-							</el-button>
+					<div style="float: right; margin-right: 18px;">
+						<el-button-group
+							v-if="selectTabObj && selectTabObj.code == 'month' && selectTabObj.filterObj.dataversion == '鏈堝害鍒濈増'"
+							style="margin-left: 3px;">
+							<el-button :disabled="!(selectTabObj.selectedrow && selectTabObj.selectedrow.biz_date)"
+								type="primary" @click="onAddSS" :icon="buttonsconfig.add.icon">鐢宠瘔</el-button>
 						</el-button-group>
 
-						<el-button-group v-show="selectTabObj.code == 'infoAll'" style="margin-left: 3px;">
-							<el-button
-								v-show="cbuttons_r.Add"
-								:disabled="!(selectTabObj.selectedrow && selectTabObj.selectedrow.id && (selectTabObj.selectedrow.state_code == 'Rejected' || selectTabObj.selectedrow.state_code == 'Input') && selectTabObj.selectedrow.create_id == saveUser)"
-								@click="reEditInfo" :icon="buttonsconfig.edit.icon">缂栬緫
-							</el-button>
+						<el-button-group style="margin-left: 3px;">
+							<el-button type="primary" @click=""
+								:icon="buttonsconfig.import.icon">{{buttonsconfig.import.name}}</el-button>
+							<el-button type="primary" @click=""
+								:icon="buttonsconfig.export.icon">{{buttonsconfig.export.name}}</el-button>
 						</el-button-group>
+					</div>
 
-						<el-button-group v-show="selectTabObj.code == 'authAll'" style="margin-left: 3px;">
-							<el-button
-								v-show="cbuttons_r.Auth"
-								:disabled="!(selectTabObj.selectedrow && selectTabObj.selectedrow.id && (selectTabObj.selectedrow.state_code == 'Rejected' || selectTabObj.selectedrow.state_code == 'Input') && selectTabObj.selectedrow.create_id == saveUser)"
-								@click="reEditAuth" :icon="buttonsconfig.edit.icon">缂栬緫
-							</el-button>
-						</el-button-group> -->
+					<div style="float: left; margin-left: 20%;">
+						<span>鎶ュ憡鏃ユ湡锛�</span>
+						<span v-if="selectTabObj && selectTabObj.code == 'month'">{{newdate_month}}</span>
+						<span v-if="selectTabObj && selectTabObj.code == 'daily'">{{newdate_day}}</span>
+						<el-radio-group style="margin-left: 10px;"
+							v-if="selectTabObj && selectTabObj.filterObj && selectTabObj.code=='month'"
+							v-model="selectTabObj.filterObj.dataversion" size="mini" fill="#4cb108">
+							<el-radio-button label="鏈堝害鍒濈増">鍒濈増</el-radio-button>
+							<el-radio-button label="鏈堝害缁堢増">缁堢増</el-radio-button>
+						</el-radio-group>
 					</div>
 				</div>
 
diff --git a/module/md/page/customer/page/customer_basic.html b/module/md/page/customer/page/customer_basic.html
index 1f7b2c8..75eefe9 100644
--- a/module/md/page/customer/page/customer_basic.html
+++ b/module/md/page/customer/page/customer_basic.html
@@ -358,7 +358,9 @@
 										me.tableFieldClick();
 									}
 									me.formData = getDataByFields(me.formData, me.formFields);
-									
+									if (me.formData.file_authorization_content) {
+										me.imgurl = config.url_root + "starwaytestroot/file/getFile?category=org&token=" + Root.getToken() + "&id=" + me.formData.file_authorization_content;
+									}
 									if (me.rowData[me.dataname]) {
 										me.formData = clone(me.rowData[me.dataname]);
 									}
@@ -557,6 +559,27 @@
 								}
 							});
 						},
+						
+						submitUpload(one, fileList, type) {
+							this.isOCR = false;
+							let me = this;
+							let formData = new FormData();
+							var ocrtype = "";
+							formData.append("oneFile", one.raw);
+							
+							formData.append("id", me.formData.id);
+							formData.append("dataName", "md_org_register");
+							formData.append("field_fileName", "file_name_certificate_original");
+							formData.append("field_fileId", "file_certificate_original");
+							
+							uploadFile(me, formData, result_ => {
+								me.uploade_state = true;
+								// me.formData.file_authorization_content = result_.data.file.file_index_id;
+								me.uploadFileFun_file(one, fileList, type);
+								
+							}, function() {}, ocrtype);
+						},
+						
 						uploadFileFun_file(one, fileList, type) {
 						    let me = this;
 						    let formData = new FormData()
@@ -597,8 +620,9 @@
 						            me.fileobj = file_;
 						            me.ocrobj = form_data_;
 						            console.log("璇嗗埆淇℃伅",form_data_);
-						            me.imgurl = config.url_root + "root/file/getFile?category=org&token=" + Root.getToken() + "&id=" + file_.indexid;
-						        }
+						            me.imgurl = config.url_root + "starwaytestroot/file/getFile?category=org&token=" + Root.getToken() + "&id=" + file_.indexid;
+									me.formData.file_authorization_content = file_.indexid;
+								}
 						        else {
 						            me.$message({
 						                type:"warning",
@@ -628,6 +652,7 @@
 						
 						        from_.register_address = form_data_.businessAddress || null;
 						        from_.license_business_no = me.ocrobj.creditCode || null; // 钀ヤ笟鎵х収-璇佺収缂栧彿
+						        from_.name = form_data_.companyName;
 						        from_.license_business_name = form_data_.companyName;
 						        from_.license_business_date_from = form_data_.validFromDate;
 						        from_.license_business_date_to = form_data_.validToDate;
@@ -721,6 +746,7 @@
 							if (me.fileobj.indexid) {
 								me.fileobj.indexid = ""
 							}
+							me.formData.file_authorization_content = ""
 						},
 						
 						//鎻愪氦
@@ -1053,7 +1079,7 @@
 								ref="reportUpload1"
 						        list-type="picture-card" 
 						        :file-list="formData1.mdm_img"
-						        :on-change="(file, fileList) => {uploadFileFun_file(file, fileList, '1')}"
+						        :on-change="(file, fileList) => {submitUpload(file, fileList, '1')}"
 						        :auto-upload="false">
 						            <!-- <i slot="default" class="el-icon-plus"></i> -->
 						            <span style="font-size: 14px; color: #909399;">钀ヤ笟鎵х収涓婁紶</span>
diff --git a/module/md/page/customer/page/customer_list_authorization.html b/module/md/page/customer/page/customer_list_authorization.html
index d5ab6e1..e1913b4 100644
--- a/module/md/page/customer/page/customer_list_authorization.html
+++ b/module/md/page/customer/page/customer_list_authorization.html
@@ -18,11 +18,11 @@
 						title: "鎺堟潈绠$悊",
 						//Tab椤硅缃�
 						tabs_d: [
-							{code: "agmAll", name: "鍗忚鍖婚櫌", dataname: "md_org_account_hospital", filterTxt: "agreement_id is not null and (md_org_account_hospital.state_code='Open' or md_org_account_hospital.state_code='Closed')", orderby: "md_org_account_hospital.date_to"},
+							{code: "agmAll", name: "鍗忚鍖婚櫌", dataname: "md_org_account_hospital", filterTxt: "term_code='long-term' and md_org_account_hospital.state_code='Open'", orderby: "md_org_account_hospital.date_to"},
 							// {code: "Input", name: "鎺堟潈鐢宠", dataname: "md_org_account_hospital_apply", filterTxt: "(state_code='Input' or state_code='OpeningApproval')", orderby: "md_org_account_hospital_apply.date_to"},
 							// {code: "Open", name: "鐢熸晥", dataname: "md_org_account_hospital", filterTxt: "apply_id is not null and md_org_account_hospital.state_code='Open'", orderby: "md_org_account_hospital.date_to"},
 							// {code: "Close", name: "缁堟", dataname: "md_org_account_hospital", filterTxt: "apply_id is not null and md_org_account_hospital.state_code='Closed'", orderby: "md_org_account_hospital.date_to"},
-							{code: "All", name: "闈炲崗璁尰闄�", dataname: "md_org_account_hospital", filterTxt: "apply_id is not null and (md_org_account_hospital.state_code='Open' or md_org_account_hospital.state_code='Closed')", orderby: "md_org_account_hospital.date_to"},
+							{code: "All", name: "闈炲崗璁尰闄�", dataname: "md_org_account_hospital", filterTxt: "term_code='temp-term' and md_org_account_hospital.state_code='Open'", orderby: "md_org_account_hospital.date_to"},
 						],
 						d_tabs: {
 							Input: true,
diff --git a/module/md/page/framework/page/territory_list.html b/module/md/page/framework/page/territory_list.html
index f85539f..2af0c06 100644
--- a/module/md/page/framework/page/territory_list.html
+++ b/module/md/page/framework/page/territory_list.html
@@ -2,7 +2,7 @@
 <html>
 	<head>
 		<meta charset="utf-8"><meta http-equiv="Expires" content="0"><meta http-equiv="Pragma" content="no-cache"><meta http-equiv="Cache-control" content="no-cache"><meta http-equiv="Cache" content="no-cache">
-		<title>鍟嗗姟鏋舵瀯</title>
+		<title>鍟嗗姟杩愯惀</title>
 		
 		<script type="text/javascript">
 			var pageVue = null;
@@ -17,7 +17,7 @@
 				new TreeVue({
 					el: "#vbody",
 					data: {
-						title: "鍟嗗姟鏋舵瀯",
+						title: "鍟嗗姟杩愯惀",
 						dataname: "md_position_business",
 						treeTxtFormatter: "{name}銆恵md_position_employee__remark}銆�",
 						maxlevel: 6,
@@ -1062,7 +1062,7 @@
 				<div class="h_dialog__body">
 					<div :style="{position: 'absolute', left: '16px', width: '40%', top: '40px', bottom: '10px', border: '1px solid #E4E7ED'}">
 						<div style="height: 32px;line-height: 32px;border-bottom: 1px solid #E4E7ED ;">
-							<span style="font-size: 14px;margin-left: 20px;">鍟嗗姟鏋舵瀯</span>
+							<span style="font-size: 14px;margin-left: 20px;">鍟嗗姟杩愯惀</span>
 							<!-- <div style="padding: 0.5px 20px;box-sizing: border-box; width: 100%;border-bottom: 1px solid #e4e7ed;"> -->
 							<!-- <div style="margin: 0.5px 12px;">  
 								<el-select v-model="treeFilter.orgid" placeholder="閫夋嫨鍏徃" style="width: 49%;" @change="onTreeFilterChange()">
diff --git a/module/md/page/terminal/page/hospital_list_warehouse.html b/module/md/page/terminal/page/hospital_list_warehouse.html
index 7763ddb..be11c40 100644
--- a/module/md/page/terminal/page/hospital_list_warehouse.html
+++ b/module/md/page/terminal/page/hospital_list_warehouse.html
@@ -165,33 +165,6 @@
 							
 							//琛ㄦ牸瀛楁浜嬩欢璁剧疆
 							tablefieldClick = {
-								state_name: {//鐘舵��
-									val: {//鏈夊�兼椂鐨勭偣鍑讳簨浠�
-										notclick_val: ["鑽夌","鑽夌"],
-										notclick_bindfield: [],
-										onclick: function(obj) {
-											var config = {
-												totab: false,
-												width: "1100px",
-												height: "520px",
-												icon: "icon-product",
-												text: "娴佺▼姝ラ",
-												id: "popup_workflow_step_user" + obj.row.id,
-												url: "module/tool/page/popup_workflow_step_user.html?v=2023020703",
-												data: obj.row,
-												delta: {},
-												sceneCode: "browse",
-												callback: function(obj, callback) {
-													if (callback) {
-														callback();
-													}
-												}
-											};
-											me.doPopupByPublic(config);
-										},
-									},	
-								},
-								
 								terminal_code: {//瀛楁浜嬩欢璁剧疆
 									val: {//鏈夊�兼椂鐨勭偣鍑讳簨浠�
 										onclick: function(obj) {//鏁版嵁鍊肩偣鍑讳簨浠�
@@ -202,32 +175,6 @@
 							};
 
 							tablefieldClickOpen = {
-								state_name: {//鐘舵��
-									val: {//鏈夊�兼椂鐨勭偣鍑讳簨浠�
-										notclick_val: ["鑽夌","鑽夌"],
-										notclick_bindfield: [],
-										onclick: function(obj) {
-											var config = {
-												totab: false,
-												width: "1100px",
-												height: "520px",
-												icon: "icon-product",
-												text: "娴佺▼姝ラ",
-												id: "popup_workflow_step_user" + obj.row.id,
-												url: "module/tool/page/popup_workflow_step_user.html?v=2023020703",
-												data: obj.row,
-												delta: {},
-												sceneCode: "browse",
-												callback: function(obj, callback) {
-													if (callback) {
-														callback();
-													}
-												}
-											};
-											me.doPopupByPublic(config);
-										},
-									},	
-								},
 								code: {//瀛楁浜嬩欢璁剧疆
 									val: {//鏈夊�兼椂鐨勭偣鍑讳簨浠�
 										onclick: function(obj) {//鏁版嵁鍊肩偣鍑讳簨浠�
@@ -275,11 +222,18 @@
 						},
 						tableButtonClick() {
 							var me = this;
-							var tablebuttonclick = [];
-							tablebuttonclick = [
-								{	
+							var tablebuttonclick = {};
+							tablebuttonclick.Open = [
+								{
+									isbuttonshow: true, type: "primary",
+									code: "add", isselected: false, classname:"",
+									onclick: function(obj) {
+										me.onEditData("add", {})
+									}
+								},
+								{
 									isbuttonshow: me.cbuttons_r.edit, type: "primary",
-									code: "edit", isselected: true, classname:"",
+									code: "change", isselected: true, classname:"",
 									disabled: function(selectRowList) {
 										var bo_ = true;
 										if (selectRowList[0]) {
@@ -310,10 +264,55 @@
 										me.onEditData("edit",obj.selectedList[0])
 									}
 								},
-
 							]
-							me.selectTabObj.tablebuttonClick = tablebuttonclick
 							
+							tablebuttonclick.alias = [
+								{
+									isbuttonshow: true, type:"primary",
+									code: "add",isselected: false,classname: "",
+									onclick: function(obj) {
+										me.openCustomer('add')
+									}
+								},
+								{
+									// name: "鍒犻櫎", // type: "primary", // icon: "el-icon-edit",
+									isbuttonshow: true,	type: "danger",
+									code: "delete", isselected: true, classname: "",
+									disabled: function(selectRowList) {
+									    var bo_ = true ;
+									    if (selectRowList[0]) {
+									        bo_ = false
+									    }
+									    return bo_;
+									},
+									onclick: function(obj) {
+										me.delData()
+									}
+								},
+							]
+							tablebuttonclick.uploadlog = [
+								{	// 璇︽儏
+									isbuttonshow: true, type: "primary",
+									code: "formdetail", isselected: true, classname:"",
+									disabled: function(selectRowList) {
+										var bo_ = true;
+										if (selectRowList[0]) {
+											bo_ = false;
+										}
+										return bo_
+									},
+									onclick: function(obj) {
+										me.onChangeLog("browse",obj.selectedList[0])
+									}
+								},
+							]
+							
+							if (tablebuttonclick[this.activeTabName]) {
+								this.selectTabObj.tablebuttonClick = tablebuttonclick[this.activeTabName];
+							}
+							else {
+								this.selectTabObj.tablebuttonClick = []
+							}
 						},
 						
 						showInfo(obj, sceneCode) {
@@ -339,7 +338,47 @@
 							};
 							me.doPopupByPublic(config);
 						},
-
+						
+						delData: function(scope) {
+							let me = this;
+							var row = me.selectTabObj.selectedrow;
+							let name_ = "璇ユ暟鎹�";
+							
+							if (!row.id) {
+								Root.message({
+									type: 'warning',
+									message: '璇ヤ簨浠堕渶瀛樺湪鏁版嵁ID'
+								});  
+								return
+							}
+							if (row.name) {
+								name_ = "_" + row.name + "_";
+							}
+							
+							Root.confirm('纭畾鍒犻櫎' + name_ + '鍚楋紵', '鍒犻櫎鎻愮ず', {
+							  confirmButtonText: '鍒犻櫎',
+							  cancelButtonText: '鍙栨秷',
+							  type: 'warning'
+							}).then(() => {
+								let param = {
+									id: row.id,
+									dataname: me.selectTabObj.dataname,
+								}
+								Server.call("root/data/deleteEntity", param, function(result) {
+									Root.message({
+										type: 'success',
+										message: '鍒犻櫎鎴愬姛!'
+									});
+									me.onQuery();
+								});
+							}).catch(() => {
+								Root.message({
+									type: 'info',
+									message: '宸插彇娑堝垹闄�'
+								});          
+							});
+						},
+						
 						commitData(obj) {
 							var me = this;
 							Root.confirm('纭畾鎻愪氦' + obj.name + '鐨勫彉鏇寸敵璇峰悧锛�', '鎻愪氦鎻愮ず', {
@@ -401,6 +440,30 @@
 										me.onQuery();
 									// }
 
+									if (callback) {
+										callback();
+									}
+								},
+							};
+							me.doPopupByPublic(config);
+						},
+						
+						onChangeLog(sceneCode,row) {
+							var me = this;
+						
+							//3. popup
+							config = {
+								totab: false,
+								icon: "icon-product",
+								text: "缁堢鏇存敼淇℃伅",
+								width: "900px",
+								height: "400px",
+								id: "popup_hospital_log" + sceneCode,
+								url: "module/md/page/terminal/page/popup/popup_hospital_log.html",
+								sceneCode: sceneCode,
+								data: row,
+								delta: {},
+								callback: function(obj, callback) {
 									if (callback) {
 										callback();
 									}
@@ -684,7 +747,7 @@
 							 -->
 							<el-button v-show="cbuttons_r.export && selectTabObj.code == 'Open'" @click="onDownload" :icon="buttonsconfig.export.icon">{{buttonsconfig.export.name}}</el-button>
 							
-							<el-button v-show= "cbuttons_r.synchronous ? cbuttons_r.synchronous : false" type="primary" @click="getOA" :loading="loading_oa" icon="el-icon-refresh-right">鍚屾OA鍖婚櫌</el-button>
+							<!-- <el-button v-show= "cbuttons_r.synchronous ? cbuttons_r.synchronous : false" type="primary" @click="getOA" :loading="loading_oa" icon="el-icon-refresh-right">鍚屾OA鍖婚櫌</el-button> -->
 						</el-button-group>
 						 <!-- <el-button-group v-show="selectTabObj.code == 'Open'" style="margin-left: 3px">
 							<el-button v-show="cbuttons_r.Import" @click="DownloadTemplate">妯℃澘涓嬭浇</el-button>
diff --git a/module/system/page/home/page/home_sale.html b/module/system/page/home/page/home_sale.html
index 548a2ab..14ff239 100644
--- a/module/system/page/home/page/home_sale.html
+++ b/module/system/page/home/page/home_sale.html
@@ -58,7 +58,7 @@
 						modulelist: [
 							{isshow: "T", code: "M001", title: "鎴戠殑閫氱煡", layout: "left", width: "100%", height: "30%", order_no: 1},
 							// {isshow: "T", code: "M002", title: "鎴戠殑鐢宠", layout: "left", width: "50%", height: "30%", order_no: 2},
-							{isshow: "T", code: "M003", title: "鎴戠殑鎸囨爣", layout: "left", width: "100%", height: "306px", order_no: 3},
+							{isshow: "T", code: "M003", title: "鎴戠殑缁╂晥", layout: "left", width: "100%", height: "306px", order_no: 3},
 							{isshow: "T", code: "M004", title: "鎴戠殑瀹㈡埛", layout: "left", width: "100%", height: "148px", order_no: 4},
 							{isshow: "T", code: "M005", title: "宸ヤ綔鏃ュ巻", layout: "right", width: "100%", height: "50%", order_no: 5},
 							{isshow: "T", code: "M006", title: "蹇嵎鍏ュ彛", layout: "right", width: "100%", height: "50%", order_no: 6},
@@ -94,24 +94,19 @@
 								// {createtime: "2023-10-12", code: "D00000010", name: "鍖椾含鐟炴搴锋嘲绉戞妧鏈夐檺鍏徃"},
 							],
 							M003: {
-								shangcai: {
-									amt: {
-										year: {},
-										quarter: {},
-										month: {},
-										
-										// year: {year:"2023", quarter: "3", month:"7", val_target: 600, val_sale: 300, rate_completion: 50},
-										// quarter: {year:"2023", quarter: "3", month:"7", val_target: 150, val_sale: 100, rate_completion: 66},
-										// month: {year:"2023", quarter: "3", month:"7", val_target: 50, val_sale: 40, rate_completion: 80},
-									},
-									qty: {
-										year: {},
-										quarter: {},
-										month: {},
-										// year: {year:"2023", quarter: "3", month:"7", val_target: 600, val_sale: 300, rate_completion: 50},
-										// quarter: {year:"2023", quarter: "3", month:"7", val_target: 150, val_sale: 100, rate_completion: 66},
-										// month: {year:"2023", quarter: "3", month:"7", val_target: 50, val_sale: 40, rate_completion: 80},
-									}
+								month: {
+									// bf_reach: {}, // 鎷滆杈炬垚
+									// tg_reach: {}, // 鎺ㄥ箍杈炬垚
+									// xs_reach: {}, // 閿�鍞揪鎴�
+									
+									bf_reach: {year:"2024", quarter: "3", month:"08", val_target: 220, val_sale: 100, rate_completion: 45},
+									tg_reach: {year:"2024", quarter: "3", month:"08", val_target: 160, val_sale: 120, rate_completion: 75},
+									xs_reach: {year:"2024", quarter: "3", month:"08", val_target: 10000, val_sale: 3000, rate_completion: 30},
+								},
+								year: {
+									bf_reach: {year:"2024", quarter: "3", month:"08", val_target: 2000, val_sale: 1600, rate_completion: 80},
+									tg_reach: {year:"2024", quarter: "3", month:"08", val_target: 1800, val_sale: 1200, rate_completion: 67},
+									xs_reach: {year:"2024", quarter: "3", month:"08", val_target: 120000, val_sale: 80000, rate_completion: 67},
 								},
 								zhiru: {
 									amt: {
@@ -329,8 +324,8 @@
 												val_target: summary_obj_dealer.month_qty_target_sum, val_sale: summary_obj_dealer.month_qty_achieve_sum, 
 												rate_completion: summary_obj_dealer.month_qty_target_sum ? window.top.toPercent((summary_obj_dealer.month_qty_achieve_sum / summary_obj_dealer.month_qty_target_sum) * 100) : ""},
 										}
-										dataobj_.M003.shangcai.amt = clone(M003_sc_amt);
-										dataobj_.M003.shangcai.qty = clone(M003_sc_qty);
+										// dataobj_.M003.shangcai.amt = clone(M003_sc_amt);
+										// dataobj_.M003.shangcai.qty = clone(M003_sc_qty);
 									}
 									// 妞嶅叆
 									if (me.dataRequestObj.business_data_summary_zr && me.dataRequestObj.business_data_summary_zr.data) {
@@ -363,8 +358,8 @@
 												rate_completion: summary_obj_implant.month_qty_target_sum ? window.top.toPercent((summary_obj_implant.month_qty_achieve_sum / summary_obj_implant.month_qty_target_sum) * 100) : ""},
 										}
 										
-										dataobj_.M003.zhiru.amt = clone(M003_zr_amt);
-										dataobj_.M003.zhiru.qty = clone(M003_zr_qty);
+										// dataobj_.M003.zhiru.amt = clone(M003_zr_amt);
+										// dataobj_.M003.zhiru.qty = clone(M003_zr_qty);
 									}
 									if (me.dataRequestObj.channel_qtysum) {
 										var channel_qtysum_obj = {}
@@ -388,14 +383,14 @@
 										 */
 										var M004_ = {
 											Customer: [
-												{type:"first", actor: "鐩撮噰瀹㈠晢", cnt: channel_qtysum_obj.first ? channel_qtysum_obj.first : 0},
-												{type:"platform", actor: "骞冲彴鍟�", cnt: channel_qtysum_obj.platform ? channel_qtysum_obj.platform : 0},
-												{type:"second", actor: "闈炵洿閲囧鍟�", cnt: channel_qtysum_obj.second ? channel_qtysum_obj.second : 0},
-												{type:"distribute", actor: "閰嶉�佸晢", cnt: channel_qtysum_obj.distribute ? channel_qtysum_obj.distribute : 0},
+												{type:"first", actor: "鍌ㄥ", cnt: channel_qtysum_obj.first ? channel_qtysum_obj.first : 0},
+												{type:"platform", actor: "棰勫悎浣�", cnt: channel_qtysum_obj.platform ? channel_qtysum_obj.platform : 0},
+												{type:"second", actor: "鍚堜綔涓�", cnt: channel_qtysum_obj.second ? channel_qtysum_obj.second : 0},
+												{type:"distribute", actor: "閫�鍑�/璋冩暣", cnt: channel_qtysum_obj.distribute ? channel_qtysum_obj.distribute : 0},
 											],
 											Hospital: [
-												{type:"hospital", actor: "杈栧尯鍖婚櫌", cnt: channel_qtysum_obj.hospital ? channel_qtysum_obj.hospital : 0},
-												// {type:"hospital", actor: "鍏跺畠鍖婚櫌", cnt: 12},
+												{type:"hospital", actor: "鍖婚櫌", cnt: channel_qtysum_obj.hospital ? channel_qtysum_obj.hospital : 0},
+												{type:"pharmacy", actor: "鑽簵", cnt: 12},
 											]
 										}
 										
@@ -1129,10 +1124,10 @@
 										<div class="h_card_title">
 											<span>{{module_l.title}}</span>
 											
-											<el-radio-group style="float: right;" v-if="module_l.code == 'M003'" v-model="target_type" size="mini" @input="targetTypeChange">
+											<!-- <el-radio-group style="float: right;" v-if="module_l.code == 'M003'" v-model="target_type" size="mini" @input="targetTypeChange">
 											    <el-radio-button label="amt">閲戦</el-radio-button>
 											    <el-radio-button label="qty">鏁伴噺</el-radio-button>
-											</el-radio-group>
+											</el-radio-group> -->
 										</div>
 										
 										<!-- 鎴戠殑閫氱煡 -->
@@ -1177,21 +1172,15 @@
 												<el-col :span="8">
 													<div style="font-size: 14px;">
 														<div class="h_title_fontsize">
-															<span style="border-bottom: 1px solid #0270c1;">鍟嗛噰鎸囨爣 {{dataobj[module_l.code].shangcai[target_type].year.year}}骞村害</span>
+															<span style="border-bottom: 1px solid #0270c1;">鎷滆瀹屾垚 {{dataobj[module_l.code].month['bf_reach'].year}} - {{dataobj[module_l.code].month['bf_reach'].month}}</span>
 														</div>
-														<div class="h_card_fontsize" style="text-align: left;">
-															<el-col :span="15">
-																<div class="h_cnt_div"><span>鎸囨爣{{target_type == 'amt'? '閲戦(涓囧厓)' : '鏁伴噺' }}锛�</span>
-																	<br />
-																	<span class="h_cnt_fontsize"> {{dataobj[module_l.code].shangcai[target_type].year.val_target ? '0':'0'}}</span>
-																</div>
-																<div class="h_cnt_div"><span>杈炬垚{{target_type == 'amt'? '閲戦(涓囧厓)' : '鏁伴噺' }}锛�</span>
-																	<br />
-																	<span class="h_cnt_fontsize"> {{dataobj[module_l.code].shangcai[target_type].year.val_sale}}</span>
-																</div>
+														<div class="h_card_fontsize" style="text-align: center;">
+															<el-col :span="15" class="h_card_fontsize_dc">
+																<div><span class="h_cnt20_fontsize">{{dataobj[module_l.code].month['bf_reach'].val_sale}} / {{dataobj[module_l.code].month['bf_reach'].val_target}}</span></div>
+																<div>瀹為檯鎷滆娆℃暟/璁″垝娆℃暟</div>
 															</el-col>
 															<el-col :span="9" class="h_card_fontsize_dc">
-																<div><span class="h_cnt20_fontsize">{{dataobj[module_l.code].shangcai[target_type].year.rate_completion ? '0':'0'}}</span></div>
+																<div><span class="h_cnt20_fontsize">{{dataobj[module_l.code].month['bf_reach'].rate_completion}}%</span></div>
 																<div>杈炬垚鐜�</div>
 															</el-col>
 														</div>
@@ -1200,21 +1189,15 @@
 												<el-col :span="8">
 													<div style="font-size: 14px;">
 														<div class="h_title_fontsize">
-															<span style="border-bottom: 1px solid #0270c1;">鍟嗛噰鎸囨爣 {{dataobj[module_l.code].shangcai[target_type].year.year}} - {{dataobj[module_l.code].shangcai[target_type].quarter.quarter}}瀛e害</span>
+															<span style="border-bottom: 1px solid #0270c1;">鎺ㄥ箍杈炬垚 {{dataobj[module_l.code].month['tg_reach'].year}} - {{dataobj[module_l.code].month['tg_reach'].month}}</span>
 														</div>
-														<div class="h_card_fontsize" style="text-align: left;">
-															<el-col :span="15" style="border-left: 1px solid #0270c1;">
-																<div class="h_cnt_div"><span>鎸囨爣{{target_type == 'amt'? '閲戦(涓囧厓)' : '鏁伴噺' }}锛�</span>
-																	<br />
-																	<span class="h_cnt_fontsize"> {{dataobj[module_l.code].shangcai[target_type].quarter.val_target ? '0':'0'}}</span>
-																</div>
-																<div class="h_cnt_div"><span>杈炬垚{{target_type == 'amt'? '閲戦(涓囧厓)' : '鏁伴噺' }}锛�</span>
-																	<br />
-																	<span class="h_cnt_fontsize"> {{dataobj[module_l.code].shangcai[target_type].quarter.val_sale}}</span>
-																</div>
+														<div class="h_card_fontsize" style="text-align: center;">
+															<el-col :span="15" class="h_card_fontsize_dc" style="border-left: 1px solid #0270c1;">
+																<div><span class="h_cnt20_fontsize">{{dataobj[module_l.code].month['tg_reach'].val_sale}} / {{dataobj[module_l.code].month['tg_reach'].val_target}}</span></div>
+																<div>瀹為檯鎺ㄥ箍瀹舵暟/璁″垝瀹舵暟</div>
 															</el-col>
 															<el-col :span="9" class="h_card_fontsize_dc">
-																<div><span class="h_cnt20_fontsize">{{dataobj[module_l.code].shangcai[target_type].quarter.rate_completion ? '0':'0'}}</span></div>
+																<div><span class="h_cnt20_fontsize">{{dataobj[module_l.code].month['tg_reach'].rate_completion}}%</span></div>
 																<div>杈炬垚鐜�</div>
 															</el-col>
 														</div>
@@ -1223,26 +1206,19 @@
 												<el-col :span="8">
 													<div style="font-size: 14px;">
 														<div class="h_title_fontsize">
-															<span style="border-bottom: 1px solid #0270c1;">鍟嗛噰鎸囨爣 {{dataobj[module_l.code].shangcai[target_type].year.year}} - {{dataobj[module_l.code].shangcai[target_type].month.month}}鏈堝害</span>
+															<span style="border-bottom: 1px solid #0270c1;">閿�鍞揪鎴� {{dataobj[module_l.code].month['xs_reach'].year}} - {{dataobj[module_l.code].month['xs_reach'].month}}</span>
 														</div>
-														<div class="h_card_fontsize" style="text-align: left;">
-															<el-col :span="15" style="border-left: 1px solid #0270c1;">
-																<div class="h_cnt_div"><span>鎸囨爣{{target_type == 'amt'? '閲戦(涓囧厓)' : '鏁伴噺' }}锛�</span>
-																	<br />
-																	<span class="h_cnt_fontsize"> {{dataobj[module_l.code].shangcai[target_type].month.val_target ? '0':'0'}}</span>
-																</div>
-																<div class="h_cnt_div"><span>杈炬垚{{target_type == 'amt'? '閲戦(涓囧厓)' : '鏁伴噺' }}锛�</span>
-																	<br />
-																	<span class="h_cnt_fontsize"> {{dataobj[module_l.code].shangcai[target_type].month.val_sale}}</span>
-																</div>
+														<div class="h_card_fontsize" style="text-align: center;">
+															<el-col :span="15" class="h_card_fontsize_dc" style="border-left: 1px solid #0270c1;">
+																<div><span class="h_cnt20_fontsize">{{dataobj[module_l.code].month['xs_reach'].val_sale}} / {{dataobj[module_l.code].month['xs_reach'].val_target}}</span></div>
+																<div>瀹為檯閿�閲�/璁″垝閿�閲�</div>
 															</el-col>
 															<el-col :span="9" class="h_card_fontsize_dc">
-																<div><span class="h_cnt20_fontsize">{{dataobj[module_l.code].shangcai[target_type].month.rate_completion ? '0':'0'}}</span></div>
+																<div><span class="h_cnt20_fontsize">{{dataobj[module_l.code].month['xs_reach'].rate_completion}}%</span></div>
 																<div>杈炬垚鐜�</div>
 															</el-col>
 														</div>
 													</div>
-													
 												</el-col>
 											</el-row>
 											<!-- 妞嶅叆鎸囨爣 -->
@@ -1250,21 +1226,15 @@
 												<el-col :span="8">
 													<div style="font-size: 14px;">
 														<div class="h_title_fontsize">
-															<span style="border-bottom: 1px solid #0270c1;">妞嶅叆鎸囨爣 {{dataobj[module_l.code].zhiru[target_type].year.year}}骞村害</span>
+															<span style="border-bottom: 1px solid #0270c1;">鎷滆瀹屾垚 {{dataobj[module_l.code].year['bf_reach'].year}} YTD</span>
 														</div>
-														<div class="h_card_fontsize" style="text-align: left;">
-															<el-col :span="15">
-																<div class="h_cnt_div"><span>鎸囨爣{{target_type == 'amt'? '閲戦(涓囧厓)' : '鏁伴噺' }}锛�</span>
-																	<br />
-																	<span class="h_cnt_fontsize"> {{dataobj[module_l.code].zhiru[target_type].year.val_target ? '0':'0'}}</span>
-																</div>
-																<div class="h_cnt_div"><span>杈炬垚{{target_type == 'amt'? '閲戦(涓囧厓)' : '鏁伴噺' }}锛�</span>
-																	<br />
-																	<span class="h_cnt_fontsize"> {{dataobj[module_l.code].zhiru[target_type].year.val_sale}}</span>
-																</div>
+														<div class="h_card_fontsize" style="text-align: center;">
+															<el-col :span="15" class="h_card_fontsize_dc">
+																<div><span class="h_cnt20_fontsize">{{dataobj[module_l.code].year['bf_reach'].val_sale}} / {{dataobj[module_l.code].year['bf_reach'].val_target}}</span></div>
+																<div>瀹為檯鎷滆娆℃暟/璁″垝娆℃暟</div>
 															</el-col>
 															<el-col :span="9" class="h_card_fontsize_dc">
-																<div><span class="h_cnt20_fontsize">{{dataobj[module_l.code].zhiru[target_type].year.rate_completion ? '0':'0'}}</span></div>
+																<div><span class="h_cnt20_fontsize">{{dataobj[module_l.code].year['bf_reach'].rate_completion}}%</span></div>
 																<div>杈炬垚鐜�</div>
 															</el-col>
 														</div>
@@ -1273,21 +1243,15 @@
 												<el-col :span="8">
 													<div style="font-size: 14px;">
 														<div class="h_title_fontsize">
-															<span style="border-bottom: 1px solid #0270c1;">妞嶅叆鎸囨爣 {{dataobj[module_l.code].zhiru[target_type].year.year}} - {{dataobj[module_l.code].zhiru[target_type].quarter.quarter}}瀛e害</span>
+															<span style="border-bottom: 1px solid #0270c1;">鎺ㄥ箍杈炬垚 {{dataobj[module_l.code].year['tg_reach'].year}} YTD</span>
 														</div>
-														<div class="h_card_fontsize" style="text-align: left;">
-															<el-col :span="15" style="border-left: 1px solid #0270c1;">
-																<div class="h_cnt_div"><span>鎸囨爣{{target_type == 'amt'? '閲戦(涓囧厓)' : '鏁伴噺' }}锛�</span>
-																	<br />
-																	<span class="h_cnt_fontsize"> {{dataobj[module_l.code].zhiru[target_type].quarter.val_target ? '0':'0'}}</span>
-																</div>
-																<div class="h_cnt_div"><span>杈炬垚{{target_type == 'amt'? '閲戦(涓囧厓)' : '鏁伴噺' }}锛�</span>
-																	<br />
-																	<span class="h_cnt_fontsize"> {{dataobj[module_l.code].zhiru[target_type].quarter.val_sale}}</span>
-																</div>
+														<div class="h_card_fontsize" style="text-align: center;">
+															<el-col :span="15" class="h_card_fontsize_dc" style="border-left: 1px solid #0270c1;">
+																<div><span class="h_cnt20_fontsize">{{dataobj[module_l.code].year['tg_reach'].val_sale}} / {{dataobj[module_l.code].year['tg_reach'].val_target}}</span></div>
+																<div>瀹為檯鎺ㄥ箍瀹舵暟/璁″垝瀹舵暟</div>
 															</el-col>
 															<el-col :span="9" class="h_card_fontsize_dc">
-																<div><span class="h_cnt20_fontsize">{{dataobj[module_l.code].zhiru[target_type].quarter.rate_completion ? '0':'0'}}</span></div>
+																<div><span class="h_cnt20_fontsize">{{dataobj[module_l.code].year['tg_reach'].rate_completion}}%</span></div>
 																<div>杈炬垚鐜�</div>
 															</el-col>
 														</div>
@@ -1296,26 +1260,19 @@
 												<el-col :span="8">
 													<div style="font-size: 14px;">
 														<div class="h_title_fontsize">
-															<span style="border-bottom: 1px solid #0270c1;">妞嶅叆鎸囨爣 {{dataobj[module_l.code].zhiru[target_type].year.year}} - {{dataobj[module_l.code].zhiru[target_type].month.month}}鏈堝害</span>
+															<span style="border-bottom: 1px solid #0270c1;">閿�鍞揪鎴� {{dataobj[module_l.code].year['xs_reach'].year}} YTD</span>
 														</div>
-														<div class="h_card_fontsize" style="text-align: left;">
-															<el-col :span="15" style="border-left: 1px solid #0270c1;">
-																<div class="h_cnt_div"><span>鎸囨爣{{target_type == 'amt'? '閲戦(涓囧厓)' : '鏁伴噺' }}锛�</span>
-																	<br />
-																	<span class="h_cnt_fontsize"> {{dataobj[module_l.code].zhiru[target_type].month.val_target ? '0':'0'}}</span>
-																</div>
-																<div class="h_cnt_div"><span>杈炬垚{{target_type == 'amt'? '閲戦(涓囧厓)' : '鏁伴噺' }}锛�</span>
-																	<br />
-																	<span class="h_cnt_fontsize"> {{dataobj[module_l.code].zhiru[target_type].month.val_sale}}</span>
-																</div>
+														<div class="h_card_fontsize" style="text-align: center;">
+															<el-col :span="15" class="h_card_fontsize_dc" style="border-left: 1px solid #0270c1;">
+																<div><span class="h_cnt20_fontsize">{{dataobj[module_l.code].year['xs_reach'].val_sale}} / {{dataobj[module_l.code].year['xs_reach'].val_target}}</span></div>
+																<div>瀹為檯閿�閲�/璁″垝閿�閲�</div>
 															</el-col>
 															<el-col :span="9" class="h_card_fontsize_dc">
-																<div><span class="h_cnt20_fontsize">{{dataobj[module_l.code].zhiru[target_type].month.rate_completion ? '0':'0'}}</span></div>
+																<div><span class="h_cnt20_fontsize">{{dataobj[module_l.code].year['xs_reach'].rate_completion}}%</span></div>
 																<div>杈炬垚鐜�</div>
 															</el-col>
 														</div>
 													</div>
-													
 												</el-col>
 											</el-row>
 										</div>
@@ -1323,11 +1280,11 @@
 										<!-- 鎴戠殑瀹㈡埛 -->
 										<div v-else-if="module_l.code == 'M004'" class="h_card_body">
 											<el-row >
-												<el-col :span="20">
+												<el-col :span="18">
 													<div style="font-size: 14px;">
 													<div class="h_title_fontsize" >
 														<i class="iconfont icon-gongwenbao h_cellclick" style="color: #ff5500;" @click="onOpenMenu('org')"></i>
-														<span class="h_cellclick" @click="onOpenMenu('org')">缁忛攢鍟�</span>
+														<span class="h_cellclick" @click="onOpenMenu('org')">鎺ㄥ箍鍟�</span>
 													</div>
 														<div class="h_div_flex">
 															<div v-for="(data_1, key1) in dataobj[module_l.code].Customer" style="display: block;">
@@ -1335,18 +1292,17 @@
 																<div>{{data_1.actor}}</div>
 															</div>
 														</div>
-														
 													</div>
 												</el-col>
-												<el-col :span="4">
+												<el-col :span="6">
 													<div style="font-size: 14px;">
 														<div class="h_title_fontsize" >
 															<i class="iconfont icon-yiyuan h_cellclick" style="color: #ff5500;" @click="onOpenMenu('hospital')"></i>
-															<span class=" h_cellclick" @click="onOpenMenu('hospital')">鍖婚櫌</span>
+															<span class=" h_cellclick" @click="onOpenMenu('hospital')">缁堢</span>
 														</div>
-														<div class="h_div_flex" style="border-left: 1px solid #0270c1; justify-content: center;">
+														<div class="h_div_flex" style="border-left: 1px solid #0270c1;">
 															<div v-for="(data_1, key1) in dataobj[module_l.code].Hospital" style="display: block;">
-																<div style="text-align: center;"><span class="h_cnt20_fontsize">{{data_1.cnt}}</span>瀹�</div>
+																<div><span class="h_cnt20_fontsize">{{data_1.cnt}}</span>瀹�</div>
 																<div>{{data_1.actor}}</div>
 															</div>
 														</div>
diff --git a/module/target/page/customer_target_list.html b/module/target/page/customer_target_list.html
index b4212f7..2be4d7f 100644
--- a/module/target/page/customer_target_list.html
+++ b/module/target/page/customer_target_list.html
@@ -2,7 +2,7 @@
 <html>
 	<head>
 		<meta charset="utf-8"><meta http-equiv="Expires" content="0"><meta http-equiv="Pragma" content="no-cache"><meta http-equiv="Cache-control" content="no-cache"><meta http-equiv="Cache" content="no-cache">
-		<title>缁忛攢鍟嗘寚鏍�</title>
+		<title>鎸囨爣绠$悊</title>
 		
 		<script type="text/javascript">
 			var pageVue = null;
@@ -15,7 +15,7 @@
 				pageVue = new TabTableVue({
 					el: "#vbody",
 					data: {
-						title: "缁忛攢鍟嗘寚鏍�",
+						title: "鎸囨爣绠$悊",
 
 						//Tab椤硅缃�
 						tabs_d: [
@@ -26,7 +26,7 @@
 							// {code: "All", name: "鍏ㄩ儴", dataname: "md_target_dealer", filterTxt: "1 = 1", orderby: "update_time desc"},
 
 							{code: "Open", name: "鎺ㄥ箍鍟嗘寚鏍�", dataname: "md_target_dealer", filterTxt: "(type_code='target_dealer_sc' or type_code='dealer')", orderby: "md_target_dealer.update_time desc"},
-							{code: "TargetSum", name: "鐪佸尯缁忕悊鎸囨爣", dataname: "md_target_dealer", filterTxt: "(type_code='target_dealer_zr' or type_code='implant')", orderby: "md_target_dealer.update_time desc"},
+							{code: "TargetSum", name: "鐪佸尯缁忕悊鎸囨爣", dataname: "v_target_position", filterTxt: "", orderby: ""},
 							// {code: "Apply", name: "鎸囨爣鐢宠", dataname: "md_target_apply", filterTxt: "1 = 1", orderby: "update_time desc"},
 						],
 						tabs: [],
diff --git a/module/target/page/terminal_target_list.html b/module/target/page/terminal_target_list.html
index 5b8ecdb..06fad52 100644
--- a/module/target/page/terminal_target_list.html
+++ b/module/target/page/terminal_target_list.html
@@ -20,8 +20,8 @@
 						//Tab椤硅缃�
 						tabs_d: [
 							// {code: "Target", name: "鍖婚櫌妞嶅叆鎸囨爣", dataname: "md_target_hospital", filterTxt: "state_code='Open'", orderby: "update_date desc,hospital_code,category_name desc"},
-							{code: "Target", name: "鍖婚櫌妞嶅叆鎸囨爣", dataname: "md_target_hospital", filterTxt: "state_code='Open'", orderby: "year desc, update_time desc"},
-							{code: "purchaseTarget", name: "鍖婚櫌鍟嗛噰鎸囨爣", dataname: "md_target_dealer_hospital", filterTxt: "state_code='Open'", orderby: "year desc, update_time desc"},
+							{code: "Target", name: "鍖婚櫌妞嶅叆鎸囨爣", dataname: "md_target_hospital", filterTxt: "md_target_hospital.state_code='Open'", orderby: "md_target_hospital.year desc, md_target_hospital.update_time desc"},
+							{code: "purchaseTarget", name: "鍖婚櫌鍟嗛噰鎸囨爣", dataname: "md_target_dealer_hospital", filterTxt: "md_target_hospital.state_code='Open'", orderby: "md_target_hospital.year desc, md_target_hospital.update_time desc"},
 							// {code: "TargetApply", name: "鎸囨爣鐢宠", dataname: "md_target_hospital_apply", filterTxt: "1 = 1", orderby: "update_time desc"},
 						],
 						tabs: [],
diff --git a/module/visit/page/popup/popup_alert.html b/module/visit/page/popup/popup_alert.html
new file mode 100644
index 0000000..c04b5d3
--- /dev/null
+++ b/module/visit/page/popup/popup_alert.html
@@ -0,0 +1,225 @@
+<!doctype html>
+<html>
+	<head>
+		<meta charset="utf-8"><meta http-equiv="Expires" content="0"><meta http-equiv="Pragma" content="no-cache"><meta http-equiv="Cache-control" content="no-cache"><meta http-equiv="Cache" content="no-cache">
+		<title>鎺ㄥ箍棰勮淇℃伅</title>
+		
+		<script type="text/javascript">
+			var pageVue = null;
+			function loadJsCss(callback) {
+				var jscss_urls = [];
+				window.top.initJsCss(document, jscss_urls, callback);
+			};
+			
+			function initVue() {
+				new ListVue({
+					el: "#vbody",
+					data: {
+						dataname: "sys_alert",
+						title: "鎺ㄥ箍棰勮淇℃伅",
+						pageAttr: {
+							heightType: "popuppage"
+						},
+						filterAttr: {
+							columnnumber: 3,
+							labelwidth: "100px",
+							labelposition: "right",//"left",//"right",
+							size: "medium",
+							border: "0px solid #c6c6c600"
+						},
+						filterObjBydefault: {},
+						filterfieldClick: {},
+						tablefieldClick: {},
+						formfieldClick: {},
+					},
+					created() {
+						this.popupParames = clone(Root.popupParames);
+						this.title = this.popupParames.title || this.popupParames.text
+						if (this.popupParames.filter) {
+							this.filterTxt = this.popupParames.filter
+						}
+						
+						if (this.popupParames.dataname) {
+							this.dataname = this.popupParames.dataname;
+						}
+						
+						if (this.popupParames.sceneCode) {
+							if (this.popupParames.sceneCode == "add") {//鏂板
+								this.isedit = true;
+							}
+						}
+					},
+					
+					mounted() {
+						//鑾峰彇鏁版嵁
+						this.initData();
+						this.$nextTick(() => { // 浠ユ湇鍔$殑鏂瑰紡璋冪敤鐨� Loading 闇�瑕佸紓姝ュ叧闂�
+							hideLoading();
+						});
+					},
+					
+					methods:{
+						//鍏抽棴寮圭獥
+						closeDialog() {
+							this.docloseDialog(true);
+						},
+						
+						//鍏抽棴鍓嶈皟鍥炶皟
+						saveAfter() {
+							var me = this;
+							if(this.popupParames.callback) {
+								let obj = {
+									row: clone(this.selectedrow)
+								}
+								this.popupParames.callback(obj, function() {
+									me.docloseDialog();
+								});
+							}
+							else {
+								me.docloseDialog();
+							}
+						},
+						
+						initData() {
+							var me = this;
+							this.onQuery(function(result, callback) {//鏌ヨ鍚庣殑鍥炶皟锛岀敤浜庤幏鍙栧瓧娈电殑
+								if (result.meta && result.meta[me.dataname] && result.meta[me.dataname].fields) {
+									var metas = clone(result.meta[me.dataname].fields);
+									var filterFields_ = [];
+									var tableFields_ = [];
+									
+									metas.map(f=>{
+										f.isshow = "T";
+										if (f.isfilter) {
+											filterFields_.push(clone(f));
+										}
+										
+										tableFields_.push(clone(f));
+									})
+									if (!me.filterFields || (me.filterFields && me.filterFields.length == 0)) {
+										me.filterFields = clone(filterFields_);
+										me.tableFields = clone(tableFields_);
+										
+										//瀛楁鏁扮粍杞瓧娈祇bj锛岀洰鐨勪负浜嗙瓫閫夋椂鑾峰彇瀛楁灞炴��
+										me.fieldsToFieldsObj();
+										
+										//璁剧疆瀛楁浜嬩欢
+										me.tableFieldClick();
+									}
+									
+								}
+								
+								if (callback) {
+									callback();
+								}
+							});
+						},
+						
+						tableFieldClick() {
+							var me = this;
+							//绛涢�夊瓧娈典簨浠惰缃�
+							this.filterfieldClick = {
+							};
+							//琛ㄦ牸瀛楁浜嬩欢璁剧疆
+							this.tablefieldClick = {
+							};
+						
+							//琛ㄥ崟瀛楁浜嬩欢璁剧疆
+							this.formfieldClick = {
+							};
+						},
+						
+						
+						onRowDblClick() {
+							if (this.isedit) {
+								this.saveAfter();
+							}
+						},
+						
+					}
+				});
+			};
+			
+			loadJsCss(function () {
+				initVue();
+			});
+		</script>
+		<style>
+			/* 鍦╲ue.js涓� v-cloak 杩欎釜鎸囦护鏄槻姝㈤〉闈㈠姞杞芥椂鍑虹幇 vuejs 鐨勫彉閲忓悕鑰岃璁$殑 */
+			[v-cloak] {
+				display: none !important;
+			}
+			.h_table .h_h_table .h_table_tool .h_basicfilter {
+				width: 80% !important;
+			}
+		</style>
+		
+	</head>
+	
+	<body style="margin: 0px;">
+		<div v-cloak id="vbody">
+			<div id="page_root">
+				<div ref="popup_body" style="padding: 0 20px;">
+					<!-- 鏍囬 -->
+					<!-- <div class="el-dialog__header">
+						<div class="dialog-title">
+						  <i class="iconfont icon-customermanagement"></i>
+						  <span>{{title}}</span>
+						</div>
+					</div>	 -->
+					<!-- 涓讳綋 -->
+					<!-- <div class="topbar-line">
+						<div class="query-bar">
+							<h-form-filter ref="form1" 
+								:form-attr="filterAttr" 
+								:table-fields="filterFields" 
+								:form-data="filterObj" 
+								:table-field-click="filterfieldClick"
+								
+								v-on:on-query="onQuery"
+								v-on:on-init-query="onInitFilter"
+								>
+							</h-form-filter>
+						</div>
+					</div> -->
+				
+					<div class="h_dialog__body">
+						<h-table
+							v-if="isRefresh"
+							ref="table1"
+							:table-fields="tableFields" 
+							:table-data="tableData" 
+							:pagesize="pagesize"
+							:pagenum="pagenum"
+							:total="total"
+							:table-height="tableHeight"
+							:table-field-click="tablefieldClick"
+							:is-highlight-row="isedit"
+							:is-show-index="false"
+							:filtersobj="filterObj"
+							
+							v-on:get-data="getData"
+							v-on:row-click="rowClick"
+							v-on:row-dblclick="rowDblclick"
+						>
+						</h-table>
+					</div>
+					
+					<!-- 搴曢儴宸ュ叿鏍� -->
+					<div class="el-dialog__footer">
+						<el-button size="small" type="default" @click="closeDialog">鍙� 娑�</el-button>
+						<el-button size="small" v-if="isedit" type="primary" @click="saveAfter">纭� 瀹�</el-button>
+					</div>
+				</div>
+			</div>
+		</div>
+		
+		<div id="page_loading" style="position: absolute; top:0px; width: 100vw; height: 50vh;">
+			<div class="spinner">
+			  <div class="cube1"></div>
+			  <div class="cube2"></div>
+			</div>
+		</div>
+		
+	</body>
+</html>
diff --git a/module/visit/page/process_definition.html b/module/visit/page/process_definition.html
index 9ee7c68..179a7dc 100644
--- a/module/visit/page/process_definition.html
+++ b/module/visit/page/process_definition.html
@@ -17,13 +17,13 @@
 				new TreeVue({
 					el: "#vbody",
 					data: {
-						dataname: "md_bu_product", // "md_prod_category",
-						title: "浜у搧鍒楄〃",
-						tree_title: "BU/浜у搧",
+						dataname: "md_promotion", // "md_prod_category",
+						title: "杩囩▼瀹氫箟",
+						tree_title: "杩囩▼",
 						treeTxtFormatter: "{name}",
 						isTreeReadonly: true,
-						
-						dataname_p: "md_prod_sku",
+						detail_title: "瀹氫箟",
+						dataname_p: "md_promotion_process",
 						pagesize_p: 10,
 						pagenum_p: 1,
 						total_p: 0,
@@ -81,32 +81,20 @@
 								var buobj_ = {};
 								var initTreeData = clone(me.initTreeData);
 								initTreeData.map(td=>{
-									if (!buobj_[td.bu_id]) {
-										var bu_= {
-											id: td.bu_id,
-											bu_id: td.bu_id,
-											name: td.bu_name,
-										}
-										treeData_.push(bu_);
-										buobj_[td.bu_id] = bu_
-									}
-									td.id = td.bu_id + "_" + td.product_id;
-									td.parent_id = td.bu_id;
-									td.name = td.product_name;
 									treeData_.push(td);
 								})
 								
 								me.initTreeData = clone(treeData_)
 								
-								var orderArray = ["鍐犺剦浠嬪叆","绁炵粡浠嬪叆","澶栧懆浠嬪叆","琛�绠″唴鎴愬儚", "鐢电敓鐞�"];
-								let initTreeData_ = ArrayToTree(clone(me.initTreeData), "name", "parent_id", null, null, null, orderArray);
-								if (me.cbuttons_r.allocation) {
-									var notAllocationProduct = {
-										id: "notAllocationProduct",
-										name: "鏈垎閰嶄骇鍝�"
-									}
-									initTreeData_.push(notAllocationProduct);
-								}
+								// var orderArray = ["鍐犺剦浠嬪叆","绁炵粡浠嬪叆","澶栧懆浠嬪叆","琛�绠″唴鎴愬儚", "鐢电敓鐞�"];
+								let initTreeData_ = ArrayToTree(clone(me.initTreeData), "name", "parent_id", null, null, null, null);
+								// if (me.cbuttons_r.allocation) {
+								// 	var notAllocationProduct = {
+								// 		id: "notAllocationProduct",
+								// 		name: "鏈垎閰嶄骇鍝�"
+								// 	}
+								// 	initTreeData_.push(notAllocationProduct);
+								// }
 								
 								me.treeData = initTreeData_;
 								
@@ -115,28 +103,6 @@
 								}
 								
 								me.getTableMeta();
-
-								//寰呭畬鍠�
-								// if(me.treeData[0].children[0].children[0]) {
-								// 	let objInit = {
-								// 		data: clone(me.treeData[0].children[0].children[0]),
-								// 		node: {},
-								// 		el: {},
-								// 	};
-								// 	me.onNodeClick(objInit);
-								// }
-
-								//Brooke
-								// console.log(me.treeData);
-								// if(me.treeData[0]) {
-								// 	let objInit = me.findNodeInit(me.treeData[0]);
-								// 	console.log(objInit);
-								// }
-
-								//GPT3.5
-								// const deepestNode = me.findDeepestNode(me.treeData[0]);
-								// console.log(deepestNode);
-
 								if(me.treeData[0]) {
 									const leafNode = me.findLeafNode(me.treeData[0]);
 									let objInit = {
@@ -289,33 +255,7 @@
 						onNodeClick(obj) {
 							console.log(obj);
 							var data = obj.data, node = obj.node, el = obj.el;
-							var filter_node_val = "";
-							if (data.id == "notAllocationProduct") { // 鏈垎閰嶇殑浜у搧
-								filter_node_val = "NOT EXISTS ( SELECT * FROM md_bu_product where md_prod_sku.product_id = product_id)"
-							}
-							else if (!data.product_id) {
-								var filter_node_val_ = "";
-								if (data.children && data.children.length) {
-									data.children.map(p=>{
-										if (!filter_node_val_) {
-											filter_node_val_ = "('" + p.product_id;
-										}
-										else {
-											filter_node_val_ += "','" + p.product_id;
-										}
-									})
-									filter_node_val_ += "')";
-								}
-								if (filter_node_val_) {
-									filter_node_val = "md_prod_sku.product_id in " + filter_node_val_;
-								}
-								else {
-									filter_node_val = "1<>1"
-								}
-							}
-							else {
-								filter_node_val = "md_prod_sku.product_id='" + data.product_id + "'"
-							}
+							var filter_node_val = "parent_id='" + data.id + "'"
 							
 							// this.filterObjBydefault.category_name = val
 							this.selectedrow = data;
@@ -328,26 +268,6 @@
 
 						},
 						
-						// onNodeClick(data, node, el) {
-						// 	var val = data.name;
-						// 	if (data.children && data.children.length) {
-						// 		val = "";
-						// 		data.children.map(r=>{
-						// 			if (val == "") {
-						// 				val = r.name;
-						// 			}
-						// 			else {
-						// 				val += "','" + r.name;
-						// 			}
-						// 		})
-						// 	}
-							
-						// 	// this.filterObjBydefault.category_name = val
-						// 	this.selectedrow = data;
-						// 	this.pagenum_p = 1;
-						// 	this.getDataByNode();
-						// },
-						
 						getDataByNode() {
 							var me = this;
 							if (!me.selectedrow.id) {
@@ -356,14 +276,11 @@
 							
 							var filter_ = "";
 							
-							// filter_ = " product_line_name like '" + this.selectedrow.name + "' or authorize_category_name like '" + this.selectedrow.name + "'"
-							//filter_ = " code is not null and code <> '' and (authorize_category_id = '" + me.selectedrow.type_id + "' or authorize_category_name like '" + me.selectedrow.name + "')"
-							
 							filter_ =  this.filter_node_val;
 							var param_ = {
 								dataname: me.dataname_p,
 								filter: filter_,
-								orderby: "md_prod_sku.product_name, md_prod_sku.spec",
+								orderby: "order_no",
 								page: {
 									pageno: me.pagenum_p,
 									pagesize: me.pagesize_p
@@ -760,7 +677,7 @@
 						<div>
 							<div style="height: 32px; border-bottom: 1px solid #aaa;">
 								<div class="table_title" style="float: left;">
-									<span>SKU鍒楄〃</span>
+									<span>{{detail_title}}</span>
 								</div>
 								<!-- <div style=" text-align: right; ">
 									<el-button v-show="cbuttons_r.RuleValue" :disabled="!(setSelectedRowId)" @click="setRuleValue" >璁剧疆涓嬪崟鍊嶆暟</el-button>
diff --git a/module/visit/page/visit_log_list.html b/module/visit/page/visit_log_list.html
index 01e180e..f9a599c 100644
--- a/module/visit/page/visit_log_list.html
+++ b/module/visit/page/visit_log_list.html
@@ -68,6 +68,7 @@
 					mounted() {
 						var me = this;
 						if (window.top.tab.selected.option.page_id) {
+							this.title = window.top.tab.selected.option.menutitle
 							// this.page_id = window.top.tab.selected.option.page_id;
 							getPageByPageId(window.top.tab.selected.option.page_id, function(result){
 								me.cbuttons_r = result.buttons_r;
diff --git a/module/visit/page/visit_schedule_list.html b/module/visit/page/visit_schedule_list.html
index a0ced22..0a0402d 100644
--- a/module/visit/page/visit_schedule_list.html
+++ b/module/visit/page/visit_schedule_list.html
@@ -25,7 +25,7 @@
 						tabs_d: [
 							{code: "schedule", name: "杩涘害姹囨��", dataname: "v_customer_promotion", filterTxt: "", orderby: ""},
 							{code: "detail", name: "杩涘害鏄庣粏", dataname: "md_terminal_promotion", filterTxt: "", orderby: ""},
-							{code: "warning", name: "棰勮鍒楄〃", dataname: "md_terminal_promotion_detail", filterTxt: "", orderby: ""},
+							// {code: "warning", name: "棰勮鍒楄〃", dataname: "sys_alert", filterTxt: "", orderby: ""},
 						],
 						d_tabs: {
 							hospital: true,
@@ -38,29 +38,7 @@
 						tabs: [],
 						tabsobj: {},
 
-						dataRequest: [
-							// {
-							// 	name: "md_province",
-							// 	dataname: "md_province",
-							// 	// url: "root/data/newEntity",
-							// 	// paramsobj: {dataname: "md_org_data", type_code:"Distributor"},
-							// 	isnotoption: false, //true:涓嶆槸閫夐」
-							// 	code:"name",//鏄笅鎷夐�夐」鏃惰缃�
-							// 	label:"name",//鏄笅鎷夐�夐」鏃惰缃�
-							// 	filter: ""
-							// },
-							// {
-							// 	name: "machine_state",
-							// 	dataname: "v_state_machine_state",
-							// 	// url: "root/data/newEntity",
-							// 	// paramsobj: {dataname: "md_org_data", type_code:"Distributor"},
-							// 	isnotoption: false, //true:涓嶆槸閫夐」
-							// 	code:"code",//鏄笅鎷夐�夐」鏃惰缃�
-							// 	label:"name",//鏄笅鎷夐�夐」鏃惰缃�
-							// 	// orderby: "index_no",
-							// 	filter: "parent_id='md_hospital_business_change'",
-							// },
-						],
+						dataRequest: [],
 
 						authTableFields: [
 							{field: "code", name: "鍖婚櫌缂栫爜", isshow: "T", align: "center",width: "150"},
@@ -99,6 +77,7 @@
 					mounted() {
 						var me = this;
 						if (window.top.tab.selected.option.page_id) {
+							this.title = window.top.tab.selected.option.menutitle
 							// this.page_id = window.top.tab.selected.option.page_id;
 							getPageByPageId(window.top.tab.selected.option.page_id, function(result){
 								me.cbuttons_r = result.buttons_r;
@@ -244,7 +223,7 @@
 							};
 							//杈栧尯鍙樻洿
 							var tablefieldClick_detail = {
-							
+								
 								code: { //瀛楁浜嬩欢璁剧疆
 									val: { //鏈夊�兼椂鐨勭偣鍑讳簨浠�
 										notclick_val: "", //涓嶅彲鐐瑰嚮鐨勫��,1銆佹槸鏁扮粍["11","22"]锛�2銆佷互鈥�;鈥濆垎闅旂殑瀛楃涓�"111;222"
@@ -254,31 +233,42 @@
 										},
 									},
 								},
-								is_clinical: {
-									chart: {
-										type: "progress",// 杩涘害鏉$被鍨�
-										field: "val_ratio",//杩涘害鍊煎瓧娈�
-										progresswidth: 20,//绮楀害
-										isshowtext: true,//鏄惁鏄剧ず鍊�
-										istextinside: true//鏄惁鍦ㄨ繘搴︽潯鍐呮樉绀哄��
+								
+								is_alert: {
+									val: {
+										icon: "el-icon-warning",
+										iconcolor: "#f15c42",
+										onclick: function(obj) { //鏁版嵁鍊肩偣鍑讳簨浠�
+											me.showAlertInfo(obj)
+										},
 									}
 								},
-								is_clinical_purchase: {
-									chart: {
-										type: "progress",
-										field: "val_ratio",
-										progresswidth: 10,
-										isshowtext: true
-									}
-								},
-								is_formal_purchase: {
-									chart: {
-										type: "progress",
-										field: "val_ratio",
-										progresswidth: 10,
-										isshowtext: false
-									}
-								},
+								
+								// is_clinical: {
+								// 	chart: {
+								// 		type: "progress",// 杩涘害鏉$被鍨�
+								// 		field: "val_ratio",//杩涘害鍊煎瓧娈�
+								// 		progresswidth: 20,//绮楀害
+								// 		isshowtext: true,//鏄惁鏄剧ず鍊�
+								// 		istextinside: true//鏄惁鍦ㄨ繘搴︽潯鍐呮樉绀哄��
+								// 	}
+								// },
+								// is_clinical_purchase: {
+								// 	chart: {
+								// 		type: "progress",
+								// 		field: "val_ratio",
+								// 		progresswidth: 10,
+								// 		isshowtext: true
+								// 	}
+								// },
+								// is_formal_purchase: {
+								// 	chart: {
+								// 		type: "progress",
+								// 		field: "val_ratio",
+								// 		progresswidth: 10,
+								// 		isshowtext: false
+								// 	}
+								// },
 							};
 							//鍖婚櫌鎺堟潈鍒楄〃
 							var tablefieldClick_org = {
@@ -631,6 +621,31 @@
 							me.doPopupByPublic(config);
 						},
 						
+						showAlertInfo(obj) {
+							var me = this;
+							var filter_ = "doc_id='"+obj.row.id+"'"
+							
+							var config = {
+								totab: false, //true: 浠ab瀵艰埅鐨勬柟寮忔墦寮�
+								width: "1200px",
+								height: "600px",
+								icon: "icon-product",
+								text: obj.row.hospital_name  + "-棰勮淇℃伅",
+								id: "popup_alert" + "browse" + obj.row.id,//totab: true鏃堕渶璁剧疆锛岀敤浜庡垽鏂槸鍚﹀凡鎵撳紑姝ら〉闈�
+								url: "module/visit/page/popup/popup_alert.html",
+								data: obj.row,
+								delta: {},
+								filter: filter_,
+								sceneCode: "browse", //"add"//"browse",
+								callback: function(obj, callback) {
+									if (callback) {
+										callback();
+									}
+								}
+							};
+							me.doPopupByPublic(config);
+						},
+						
 						//杈栧尯鍖婚櫌淇℃伅鏌ョ湅
 						showInfo(obj) {
 							var me = this;

--
Gitblit v1.8.0