liyuanpeng 3 年之前
父節點
當前提交
b83bac9759
共有 30 個文件被更改,包括 6053 次插入959 次删除
  1. 16 1
      package-lock.json
  2. 2 3
      public/index.html
  3. 2 2
      public/static/js/util.js
  4. 2 2
      public/static/views/flow/flowInit.html
  5. 16 0
      public/static/views/flow/setNode_task.html
  6. 338 0
      public/static/views/publiAccount.html
  7. 604 0
      src/pages/main/advertising/businessHall.vue
  8. 417 0
      src/pages/main/advertising/contractCap.vue
  9. 192 0
      src/pages/main/advertising/index.vue
  10. 540 0
      src/pages/main/advertising/materialApplication.vue
  11. 531 0
      src/pages/main/advertising/materialApplicationExa.vue
  12. 504 0
      src/pages/main/advertising/materialApplicationExac.vue
  13. 732 0
      src/pages/main/advertising/materialApplicationadd.vue
  14. 508 0
      src/pages/main/advertising/materialApplicationc.vue
  15. 199 0
      src/pages/main/advertising/materialApplistatic.vue
  16. 464 0
      src/pages/main/advertising/materiel.vue
  17. 10 0
      src/pages/main/advertising/publicityAccount.vue
  18. 395 0
      src/pages/main/advertising/supplier.vue
  19. 4 4
      src/pages/main/bigScreen/bigScreenenw.vue
  20. 269 674
      src/pages/main/leader/index.vue
  21. 223 260
      src/pages/main/leader/processInitiation.vue
  22. 2 2
      src/pages/main/messReport/noticeIssued.vue
  23. 1 1
      src/pages/main/terminal/advcheck.vue
  24. 1 1
      src/pages/main/terminal/advertincrease.vue
  25. 1 1
      src/pages/main/terminal/advertisement.vue
  26. 1 1
      src/pages/main/terminal/advertmaterial.vue
  27. 1 1
      src/pages/main/terminal/components/advert.vue
  28. 3 3
      src/pages/main/warnManage/warnRule.vue
  29. 72 0
      src/router/index.js
  30. 3 3
      vue.config.js

+ 16 - 1
package-lock.json

@@ -1,5 +1,5 @@
 {
-  "name": "yhl_admin",
+  "name": "admin",
   "version": "0.1.0",
   "lockfileVersion": 1,
   "requires": true,
@@ -1081,6 +1081,11 @@
         }
       }
     },
+    "@tinymce/tinymce-vue": {
+      "version": "3.2.8",
+      "resolved": "https://registry.npm.taobao.org/@tinymce/tinymce-vue/download/@tinymce/tinymce-vue-3.2.8.tgz",
+      "integrity": "sha1-AUVxtS7I+oNmWn+oh79lFAIH3nE="
+    },
     "@types/color-name": {
       "version": "1.1.1",
       "resolved": "https://registry.npmjs.org/@types/color-name/-/color-name-1.1.1.tgz",
@@ -7681,6 +7686,11 @@
       "resolved": "https://r.cnpmjs.org/jquery-ui/download/jquery-ui-1.12.1.tgz",
       "integrity": "sha1-vLQEXI3QU5wTS8FIjN0+dop6nlE="
     },
+    "js-audio-recorder": {
+      "version": "1.0.7",
+      "resolved": "https://registry.npm.taobao.org/js-audio-recorder/download/js-audio-recorder-1.0.7.tgz",
+      "integrity": "sha1-AVAcuesUPVeZS0K9Wul5dP2hiQg="
+    },
     "js-base64": {
       "version": "2.5.2",
       "resolved": "https://registry.npm.taobao.org/js-base64/download/js-base64-2.5.2.tgz",
@@ -12285,6 +12295,11 @@
       "resolved": "https://registry.npmjs.org/tiny-cookie/-/tiny-cookie-1.0.1.tgz",
       "integrity": "sha1-dTeGB5xkKjw9CyrMrWAPjeEZrCo="
     },
+    "tinymce": {
+      "version": "5.7.1",
+      "resolved": "https://registry.npm.taobao.org/tinymce/download/tinymce-5.7.1.tgz?cache=0&sync_timestamp=1615946315509&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ftinymce%2Fdownload%2Ftinymce-5.7.1.tgz",
+      "integrity": "sha1-ZYpvtMfVOoSWzAD42jP0uCkNoG0="
+    },
     "tmp": {
       "version": "0.0.33",
       "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz",

+ 2 - 3
public/index.html

@@ -18,10 +18,9 @@
   <div id="app"></div>
   <!-- built files will be auto injected -->
   <script type="text/javascript">
-    // 生产接口地址
     // window.staticHost = 'http://10.230.26.15:8000/spfm';
-    // 测试接口地址
-    window.staticHost = 'http://114.215.71.182:29600/spfm';
+    // window.staticHost = 'http://114.215.71.182:29600';
+    window.staticHost = 'http://192.168.2.143:9600/';
   </script>
 </body>
 

+ 2 - 2
public/static/js/util.js

@@ -188,11 +188,11 @@ util = {
 		var winW = $(document).width();
 		var winH = $(window).height();
 		if (winW < w) {
-			w = winW - 60;
+			w = winW;
 		}
 
 		if (winH < h) {
-			h = winH - 70;
+			h = winH;
 		}
 
 		if (h > 700) {

+ 2 - 2
public/static/views/flow/flowInit.html

@@ -77,8 +77,8 @@
                     <div class="layui-table-tool-temp">
                         <div class="ag-btn-add layui-inline" lay-event ag-data-index="0" ag-win-id="0" ag-win-width="800"
                             ag-win-height="600" ag-win-title="流程绘制" ag-data-url="/flowDesign" ag-win-type="2"><i class="layui-icon layui-icon-add-1"></i></div>
-                        <div class="ag-btn-update layui-inline" lay-event ag-data-index="0" ag-win-id="0" ag-win-width="800"
-                            ag-win-height="600" ag-win-title="流程修改" ag-data-pk="procId" ag-data-url="./flowDesign.html"><i
+                        <div class="ag-btn-update layui-inline" lay-event ag-data-index="0" ag-win-id="0" ag-win-width="2000"
+                            ag-win-height="1200" ag-win-title="流程修改" ag-data-pk="procId" ag-data-url="./flowDesign.html"><i
                                 class="layui-icon layui-icon-edit"></i></div>
                         <div class="ag-btn-del layui-inline" lay-event ag-data-index="0" ag-data-pk="procId"
                             ag-data-url="/sys/settings/notice/del"><i class="layui-icon layui-icon-delete"></i></div>

+ 16 - 0
public/static/views/flow/setNode_task.html

@@ -75,6 +75,22 @@
                             <input type="hidden" name="getPrePluginName" id="seloptname">
                         </div>
                     </div>
+					
+					<div class="layui-inline">
+					    <label class="layui-form-label">预警时间:</label>
+						<div class="layui-input-block">
+						    <input class='myinput' type="text" 
+						        placeholder="预警时间" class="layui-input">
+						</div>
+					</div>
+					
+					<div class="layui-inline">
+					    <label class="layui-form-label">告警时间:</label>
+						<div class="layui-input-block">
+						    <input class='myinput' type="text" 
+						        placeholder="告警时间" class="layui-input">
+						</div>
+					</div>
 
                 </form>
                 <div class="layui-card-footer">

File diff suppressed because it is too large
+ 338 - 0
public/static/views/publiAccount.html


+ 604 - 0
src/pages/main/advertising/businessHall.vue

@@ -0,0 +1,604 @@
+<template>
+	<fullscreen :fullscreen.sync="fullscreen" class="container">
+		<div class="container-box">
+			<toolList @iconCli='iconCli' :tooltit='tooltit'></toolList>
+			<div class="search">
+				<mySearch :searchList="searchList" @searchInfo="searchInfo"></mySearch>
+				<el-button class="btn-check" size="medium" type="primary" @click="dialogCheck(3)">添加
+				</el-button>
+			</div>
+			<div class="tabbox">
+				<el-table height="calc(100% - 40px)" class="com-table" ref="multipleTable" :data="tableData"
+					tooltip-effect="dark" size="small" border style="width: 100%" v-loading="loading">
+					<el-table-column prop="regionName" label="地市名称">
+					</el-table-column>
+					<el-table-column prop="regionCode" label="地市编码">
+					</el-table-column>
+					<el-table-column prop="countyName" label="区县名称">
+					</el-table-column>
+					<el-table-column prop="countyCode" label="区县编码">
+					</el-table-column>
+					<el-table-column prop="channelName" label="渠道名称">
+					</el-table-column>
+					<el-table-column prop="channelCode" label="渠道编码">
+					</el-table-column>
+					<el-table-column prop="account" label="财务科目">
+					</el-table-column>
+					<el-table-column prop="area" label="区域编码">
+					</el-table-column>
+					<el-table-column prop="metirialCode" label="物料编码" width="100" show-overflow-tooltip>
+					</el-table-column>
+					<el-table-column prop="quality" label="物料描述" width="200" show-overflow-tooltip>
+					</el-table-column>
+					<el-table-column prop="size" label="规格尺寸" width="100" show-overflow-tooltip>
+					</el-table-column>
+					<el-table-column prop="unit" label="物料单位">
+					</el-table-column>
+					<el-table-column prop="price" label="单价">
+					</el-table-column>
+					<el-table-column prop="conversion" label="规格换算">
+					</el-table-column>
+					<el-table-column prop="advance" label="预支价格">
+					</el-table-column>
+					<el-table-column prop="sts" label="营业状态">
+					</el-table-column>
+
+					<el-table-column label="操作" width="160px" align="center" fixed="right">
+						<template slot-scope="scope">
+							<el-button size="mini" type="primary" @click="dialogCheck(1,scope.row)">查看</el-button>
+							<el-button size="mini" type="primary" @click="dialogCheck(2,scope.row)">修改</el-button>
+							<el-button size="mini" type="danger" @click="delLine(scope.row)">删除</el-button>
+						</template>
+					</el-table-column>
+				</el-table>
+				<el-pagination class="pageBox" @current-change="currchange" layout="prev, pager, next" background
+					:total="total">
+				</el-pagination>
+			</div>
+		</div>
+
+		<el-dialog :title="titname" :visible.sync="dialogStatus" width="50%" :destroy-on-close="true"
+			:modal-append-to-body="false" :close-on-click-modal="false" :before-close="closedia">
+			<div v-loading="loadinged">
+				<el-form :model="infolist" ref="infolist" :rules="rules" style="height: 50vh;overflow-y: scroll;">
+
+					<div class="info-line">
+						<el-form-item prop="regionName">
+							<span>地市名称</span>
+							<el-select :popper-append-to-body="false" v-model="infolist.regionCode" placeholder="地市名称"
+								@change="verifcheck" :disabled="disableStatus">
+								<el-option v-for="item in regionOpt" :key="item.compId" :label="item.compName"
+									:value="item.compId">
+								</el-option>
+							</el-select>
+						</el-form-item>
+						<el-form-item>
+							<span>地市编码</span>
+							<el-input v-model="infolist.regionCode" placeholder="地市编码" disabled></el-input>
+						</el-form-item>
+						<el-form-item prop="countyName">
+							<span>区县名称</span>
+							<el-select :popper-append-to-body="false" v-model="infolist.countyCode" placeholder="区县名称"
+								@change="verifcheck(2)" :disabled="disableStatus">
+								<el-option v-for="item in countyOpt" :key="item.compId" :label="item.compName"
+									:value="item.compId">
+								</el-option>
+							</el-select>
+						</el-form-item>
+						<el-form-item>
+							<span>区县编码</span>
+							<el-input v-model="infolist.countyCode" placeholder="区县编码" disabled></el-input>
+						</el-form-item>
+						<el-form-item>
+							<span>渠道名称</span>
+							<el-input v-model="infolist.channelName" placeholder="渠道名称" :disabled="disableStatus">
+							</el-input>
+						</el-form-item>
+						<el-form-item>
+							<span>渠道编码</span>
+							<el-input v-model="infolist.channelCode" placeholder="渠道编码" :disabled="disableStatus">
+							</el-input>
+						</el-form-item>
+						<el-form-item>
+							<span>财务科目</span>
+							<el-input v-model="infolist.account" placeholder="财务科目" :disabled="disableStatus">
+							</el-input>
+						</el-form-item>
+						<el-form-item>
+							<span>区域编码</span>
+							<el-select :popper-append-to-body="false" v-model="infolist.area" placeholder="区域编码"
+								:disabled="disableStatus">
+								<el-option v-for="item in areaOpt" :key="item.dataCode" :label="item.dataName"
+									:value="item.dataCode">
+								</el-option>
+							</el-select>
+						</el-form-item>
+						<el-form-item>
+							<span>营业状态</span>
+							<el-select :popper-append-to-body="false" v-model="infolist.sts" placeholder="营业状态"
+								:disabled="disableStatus">
+								<el-option v-for="item in stsOpt" :key="item.dataName" :label="item.dataName"
+									:value="item.dataName">
+								</el-option>
+							</el-select>
+						</el-form-item>
+					</div>
+					<div class="info-line">
+						<el-form-item>
+							<span>物料编码</span>
+							<el-select @change="metiriacheck" :popper-append-to-body="false"
+								v-model="infolist.metirialCode" placeholder="物料编码" :disabled="disableStatus">
+								<el-option v-for="item in metirialOpt" :key="item.metirialCode"
+									:label="item.metirialCode" :value="item.metirialCode">
+								</el-option>
+							</el-select>
+						</el-form-item>
+						<el-form-item>
+							<span>规格换算</span>
+							<el-input @change="advancecheck" type="number" v-model="infolist.conversion"
+								placeholder="规格换算" :disabled="disableStatus"></el-input>
+						</el-form-item>
+					</div>
+					<el-form-item class="info-line online">
+						<span>物料描述</span>
+						<el-input v-model="infolist.quality" disabled type="textarea" :rows="4"></el-input>
+					</el-form-item>
+					<div class="info-line">
+						<el-form-item>
+							<span>规格尺寸</span>
+							<el-input v-model="infolist.size" disabled></el-input>
+						</el-form-item>
+						<el-form-item>
+							<span>物料单位</span>
+							<el-input v-model="infolist.unit" disabled></el-input>
+						</el-form-item>
+						<el-form-item>
+							<span>单价</span>
+							<el-input v-model="infolist.price" disabled></el-input>
+						</el-form-item>
+						<el-form-item>
+							<span>预支价格</span>
+							<el-input v-model="num" placeholder="预支价格" disabled></el-input>
+						</el-form-item>
+					</div>
+				</el-form>
+
+				<div slot="footer" class="dialog-footer myfooter">
+					<el-button type="primary" @click="dialogCli(2)" v-if="titname !== '查看'">确 定</el-button>
+					<el-button @click="dialogCli(1)" v-if="titname === '查看'">确 定</el-button>
+					<el-button @click="dialogCli(1)">取 消</el-button>
+				</div>
+			</div>
+		</el-dialog>
+
+		<myMessage :messTit='messTit' @closeMessage="closeMessage" :centerDialogVisible="centerDialogVisible"
+			v-if="centerDialogVisible"></myMessage>
+	</fullscreen>
+
+</template>
+<script>
+	import mySearch from "../../../components/search.vue";
+	import myMessage from "../../../components/myMessage.vue"
+	import toolList from '../../../components/toolList'
+
+	export default {
+		components: {
+			mySearch,
+			myMessage,
+			toolList
+		},
+		data() {
+			const regionName = (rule, value, callback) => {
+				if (!this.infolist.regionName) {
+					callback(new Error('不能为空'))
+				} else {
+					callback()
+				}
+			}
+			const advTypeDesc = (rule, value, callback) => {
+				if (!this.infolist.advTypeDesc) {
+					callback(new Error('不能为空'))
+				} else {
+					callback()
+				}
+			}
+			return {
+				rules: {
+					regionName: [{
+						required: true,
+						trigger: 'change',
+						validator: regionName
+					}],
+					advTypeDesc: [{
+						required: true,
+						trigger: 'change',
+						validator: advTypeDesc
+					}],
+				},
+				searchList: [{
+					type: 'input',
+					tit: '地市名称',
+					value: '',
+					width: '98%',
+				}, ],
+				tooltit: '营业厅物料管理',
+				fullscreen: false,
+				total: 0,
+				pageSize: 1,
+				tableData: [],
+				dialogStatus: false,
+				disableStatus: false,
+				titname: '',
+				infolist: {},
+				userInfo: {},
+				params: {},
+				centerDialogVisible: false,
+				messTit: '',
+				delid: '',
+				loading: false,
+				loadinged: false,
+				regionOpt: [],
+				proviceopt: [{
+						id: '0',
+						name: '省公司'
+					},
+					{
+						id: '1',
+						name: '地市公司'
+					},
+				],
+				areaOpt: [{
+					dataName: '门面区',
+					dataCode: 'A'
+				}, {
+					dataName: '主广告区',
+					dataCode: 'B'
+				}, {
+					dataName: '业务办理区',
+					dataCode: 'C'
+				}, {
+					dataName: '终端销售区',
+					dataCode: 'D'
+				}, {
+					dataName: '和家庭体验区',
+					dataCode: 'E'
+				}, {
+					dataName: '公告区',
+					dataCode: 'F'
+				}, {
+					dataName: '其他区域(地贴、桌前挡板)',
+					dataCode: 'G'
+				}, {
+					dataName: '各类专区(携转、全球通、关爱台席等)',
+					dataCode: 'H'
+				}, ],
+				stsOpt: [{
+					dataName: '有效',
+					dataCode: '1'
+				}, {
+					dataName: '关闭',
+					dataCode: '2'
+				}, {
+					dataName: '暂停营业',
+					dataCode: '3'
+				}],
+				metirialOpt: [],
+				countyOpt: [],
+				num:0,
+
+			}
+		},
+		methods: {
+			metiriacheck(v) {
+				for (let i = 0; i < this.metirialOpt.length; i++) {
+					if (this.metirialOpt[i].metirialCode == v) {
+						this.infolist.quality = this.metirialOpt[i].quality;
+						this.infolist.size = this.metirialOpt[i].size;
+						this.infolist.unit = this.metirialOpt[i].unit;
+						this.infolist.price = this.metirialOpt[i].price;
+						this.infolist.advance = this.infolist.price * this.infolist.conversion;
+					}
+				}
+			},
+			advancecheck() {
+				this.num = this.infolist.price * this.infolist.conversion;
+				this.infolist.advance = this.num;
+			},
+			closedia() {
+				this.infolist = {};
+				this.dialogStatus = false;
+			},
+			//搜索数据
+			searchInfo(v) {
+				this.params = {};
+				v[0] ? this.params.regionName = v[0] : '';
+				this.getList(this.params, this.pageSize);
+			},
+			//获取列表
+			getList(v, n) {
+				this.pageSize = n;
+				let _this = this;
+				this.loading = true;
+				this.tableData = [];
+				this.$http({
+					url: "/market/cadvBusiMetirial/queryPage",
+					method: "post",
+					headers: {
+						"Content-Type": "application/json",
+						"page": '{"pageNo":"' + n + '","pageSize":"10"}'
+					},
+					data: v,
+				}).then((res) => {
+					this.tableData = res.data.data;
+					this.total = res.data.totalRecord;
+					this.loading = false;
+				});
+				this.loading = false;
+			},
+			// 分页
+			currchange(v) {
+				this.pageSize = v;
+				this.getList(this.params, this.pageSize);
+			},
+			//申请
+			dialogCheck(v, n) {
+				this.dialogStatus = true;
+				this.infolist = Object.assign({}, n);
+				if (v === 1) {
+					this.titname = '查看';
+					this.disableStatus = true;
+					return
+				} else if (v === 2) {
+					this.titname = '修改';
+					this.disableStatus = false;
+				} else if (v === 3) {
+					this.titname = '添加';
+					this.disableStatus = false;
+				}
+				this.infolist.opNo = this.userInfo.loginNo;
+				this.infolist.opName = this.userInfo.loginName;
+				
+				this.$http({
+					url: "/sysmgr/regionComp/queryList",
+					method: "post",
+					headers: {
+						"Content-Type": "application/json",
+					},
+					data: {
+						parentCompId: this.infolist.regionCode
+					},
+				}).then((res) => {
+					this.countyOpt = res.data;
+				});
+			},
+			//添加
+			dialogCli(v) {
+				if (v === 1) {
+					this.infolist = {};
+					this.dialogStatus = false;
+					return
+				} else {
+					this.infolist.opTime = this.$formatDate(new Date(), "YYYY-MM-DD HH:mm:ss");
+					if (this.titname === '添加') {
+						this.submitInfo("/market/cadvBusiMetirial/add");
+					} else if (this.titname === '修改') {
+						this.submitInfo("/market/cadvBusiMetirial/update", v);
+					}
+
+				}
+			},
+			submitInfo(u) {
+				let _this = this;
+				this.$refs.infolist.validate(valid => {
+					if (valid) {
+						this.loadinged = true;
+						this.$http({
+							url: u,
+							method: "post",
+							headers: {
+								"Content-Type": "application/json",
+							},
+							data: this.infolist,
+						}).then((res) => {
+							this.loadinged = false;
+							if (res.data.result === 1) {
+								_this.$message({
+									message: res.data.desc,
+									type: 'error'
+								});
+							} else {
+								_this.$message({
+									message: '成功',
+									type: 'success'
+								});
+								_this.infolist = {};
+								_this.dialogStatus = false;
+								_this.getList({}, _this.pageSize);
+							}
+
+						});
+					}
+				})
+			},
+			closeMessage(v) {
+				this.centerDialogVisible = false;
+				let _this = this;
+				if (v === 1) {
+					_this.$http({
+						url: "/market/cadvBusiMetirial/del",
+						method: "post",
+						headers: {
+							"Content-Type": "application/json",
+						},
+						data: {
+							id: this.delid
+						},
+					}).then((res) => {
+						if (res.data.result === 1) {
+							_this.$message({
+								message: res.data.desc,
+								type: 'error'
+							});
+						} else {
+							_this.$message({
+								message: '删除成功',
+								type: 'success'
+							});
+							_this.getList(this.params, this.pageSize);
+						}
+					});
+				}
+			},
+			//删除
+			delLine(v) {
+				this.centerDialogVisible = true;
+				this.messTit = '即将删除此条数据, 是否删除?';
+				this.delid = v.id;
+			},
+			//文件返回值
+			uploadBack(v) {
+				console.log(v)
+			},
+			//功能栏
+			iconCli(v) {
+				if (v === 1) {
+					this.getList(this.params, this.pageSize);
+				}
+				if (v === 2) {
+					this.fullscreen = !this.fullscreen
+				}
+			},
+			verifcheck(v) {
+				if(v == 2){
+					for (let i = 0; i < this.countyOpt.length; i++) {
+						if (this.countyOpt[i].compId === this.infolist.countyCode) {
+							this.infolist.countyName = this.countyOpt[i].compName
+						}
+					}
+				}else{
+					for (let i = 0; i < this.regionOpt.length; i++) {
+						if (this.regionOpt[i].compId === this.infolist.regionCode) {
+							this.infolist.regionName = this.regionOpt[i].compName
+							this.$http({
+								url: "/sysmgr/regionComp/queryList",
+								method: "post",
+								headers: {
+									"Content-Type": "application/json",
+								},
+								data: {
+									parentCompId: this.regionOpt[i].compId
+								},
+							}).then((res) => {
+								this.countyOpt = res.data;
+							});
+						}
+					}
+				}
+			},
+			getUser() {
+				this.userInfo = JSON.parse(window.sessionStorage.userInfo);
+				this.$http({
+					url: "/sysmgr/regionComp/queryList",
+					method: "post",
+					headers: {
+						"Content-Type": "application/json",
+					},
+					data: {
+						parentCompId: '0'
+					},
+				}).then((res) => {
+					this.regionOpt = res.data;
+				});
+				this.$http({
+					url: "/market/cadvMetirial/queryPage",
+					method: "post",
+					headers: {
+						"Content-Type": "application/json",
+						"page": '{"pageNo":"' + 1 + '","pageSize":"1000"}'
+					},
+					data: {},
+				}).then((res) => {
+					this.metirialOpt = res.data.data;
+				});
+			}
+		},
+		mounted() {
+			this.getList({}, 1);
+			this.getUser();
+		},
+		created() {
+
+		}
+	}
+</script>
+<style scoped lang="scss">
+	.onetab {
+		margin-bottom: 20px;
+		padding: 0 20px;
+	}
+
+	.titbox {
+		div {
+			float: right;
+
+			i {
+				font-size: 22px;
+				margin-left: 20px;
+				cursor: pointer;
+			}
+		}
+	}
+
+	.tabbox {
+		margin-top: 14px;
+	}
+
+	.pageBox {
+		text-align: right;
+		margin-top: 10px;
+	}
+
+	.info-line {
+		width: 100%;
+		display: block;
+		padding-left: 20px;
+
+		div {
+			width: 50%;
+			display: inline-block;
+		}
+
+		span {
+			width: 80px;
+			display: inline-block;
+			text-align: left;
+
+			i {
+				color: red;
+				display: inline-block;
+				padding-right: 5px;
+			}
+		}
+
+		.el-select,
+		.el-input {
+			width: calc(100% - 100px);
+		}
+	}
+
+	.online {
+		width: 100%;
+
+		.el-select {
+			width: calc(100% - 100px);
+		}
+
+		span {
+			vertical-align: top;
+		}
+
+		.el-textarea {
+			width: calc(100% - 100px);
+		}
+	}
+</style>

+ 417 - 0
src/pages/main/advertising/contractCap.vue

@@ -0,0 +1,417 @@
+<template>
+    <fullscreen :fullscreen.sync="fullscreen" class="container">
+        <div class="container-box">
+            <toolList @iconCli='iconCli' :tooltit='tooltit'></toolList>
+            <div class="search">
+                <mySearch :searchList="searchList" @searchInfo="searchInfo"></mySearch>
+                <el-button class="btn-check" size="medium" type="primary" @click="dialogCheck(3)">添加
+                </el-button>
+            </div>
+            <div class="tabbox">
+                <el-table height="calc(100% - 40px)" class="com-table" ref="multipleTable" :data="tableData"
+                    tooltip-effect="dark" size="small" border style="width: 100%" v-loading="loading">
+                    <el-table-column prop="regionName" label="地市名称">
+                    </el-table-column>
+                    <el-table-column prop="regionCode" label="地市编码">
+                    </el-table-column>
+                    <el-table-column prop="preAccount" label="预算金额">
+                    </el-table-column>
+					<el-table-column prop="costAccount" label="累计使用">
+                    </el-table-column>
+					<el-table-column prop="advYearn" label="统计周期">
+					</el-table-column>
+                    <el-table-column label="操作" width="160px" align="center">
+                        <template slot-scope="scope">
+                            <el-button size="mini" type="primary" @click="dialogCheck(1,scope.row)">查看</el-button>
+                            <el-button size="mini" type="primary" @click="dialogCheck(2,scope.row)">修改</el-button>
+                            <el-button size="mini" type="danger" @click="delLine(scope.row)">删除</el-button>
+                        </template>
+                    </el-table-column>
+                </el-table>
+                <el-pagination class="pageBox" @current-change="currchange" layout="prev, pager, next" background
+                    :total="total">
+                </el-pagination>
+            </div>
+        </div>
+
+        <el-dialog :title="titname" :visible.sync="dialogStatus" width="50%" :destroy-on-close="true"
+            :modal-append-to-body="false" :close-on-click-modal="false" :before-close="closedia">
+            <div v-loading="loadinged">
+                <el-form :model="infolist" ref="infolist" :rules="rules">
+					
+                    <div class="info-line">
+                        <el-form-item prop="regionName">
+                            <span>地市名称</span>
+							<el-select :popper-append-to-body="false" v-model="infolist.regionCode" placeholder="地市名称" @change="verifcheck" :disabled="disableStatus">
+							    <el-option v-for="item in regionOpt" :key="item.compId" :label="item.compName"
+							        :value="item.compId">
+							    </el-option>
+							</el-select>
+                        </el-form-item>
+                       <el-form-item>
+                            <span>地市编码</span>
+                            <el-input v-model="infolist.regionCode" placeholder="地市编码" disabled></el-input>
+                        </el-form-item>
+						<el-form-item prop="preAccount">
+                            <span>预算金额</span>
+                            <el-input v-model="infolist.preAccount" placeholder="预算金额" :disabled="disableStatus"></el-input>
+                        </el-form-item>
+						<el-form-item prop="costAccount">
+                            <span>累计使用</span>
+                            <el-input v-model="infolist.costAccount" placeholder="累计使用" disabled></el-input>
+                        </el-form-item>
+						<el-form-item>
+						    <span>统计周期</span>
+						    <el-input v-model="infolist.advYearn" placeholder="统计周期" :disabled="disableStatus"></el-input>
+						</el-form-item>
+                    </div>
+                </el-form>
+
+                <div slot="footer" class="dialog-footer myfooter">
+                    <el-button type="primary" @click="dialogCli(2)" v-if="titname !== '查看'">确 定</el-button>
+                    <el-button @click="dialogCli(1)" v-if="titname === '查看'">确 定</el-button>
+                    <el-button @click="dialogCli(1)">取 消</el-button>
+                </div>
+            </div>
+        </el-dialog>
+
+        <myMessage :messTit='messTit' @closeMessage="closeMessage" :centerDialogVisible="centerDialogVisible" v-if="centerDialogVisible"></myMessage>
+    </fullscreen>
+
+</template>
+<script>
+    import mySearch from "../../../components/search.vue";
+    import myMessage from "../../../components/myMessage.vue"
+    import toolList from '../../../components/toolList'
+
+    export default {
+        components: {
+            mySearch,
+            myMessage,
+            toolList
+        },
+        data() {
+            const regionName = (rule, value, callback) => {
+                if (!this.infolist.regionName) {
+                    callback(new Error('不能为空'))
+                } else {
+                    callback()
+                }
+            }
+            const advTypeDesc = (rule, value, callback) => {
+                if (!this.infolist.advTypeDesc) {
+                    callback(new Error('不能为空'))
+                } else {
+                    callback()
+                }
+            }
+            return {
+                rules: {
+                    regionName: [{
+                        required: true,
+                        trigger: 'change',
+                        validator: regionName
+                    }],
+                    advTypeDesc: [{
+                        required: true,
+                        trigger: 'change',
+                        validator: advTypeDesc
+                    }],
+                },
+                searchList: [
+                    {
+                        type: 'input',
+                        tit: '地市名称',
+                        value: '',
+                        width: '98%',
+                    },
+                ],
+                tooltit:'地市预算上限',
+                fullscreen: false,
+                total: 0,
+                pageSize: 1,
+                tableData: [{
+					regionName:'哈尔滨',
+					regionCode:'wl001',
+					advYearn:'年',
+					advTypeDesc:'地市公司',
+					preAccount:'5000',
+					costAccount:'10000',
+				}],
+                dialogStatus: false,
+                disableStatus: false,
+                titname: '',
+                infolist: {},
+                userInfo: {},
+                params: {},
+                centerDialogVisible: false,
+                messTit: '',
+                delid: '',
+                loading:false,
+                loadinged:false,
+				regionOpt:[],
+				proviceopt: [{
+						id: '0',
+						name: '省公司'
+					},
+					{
+						id: '1',
+						name: '地市公司'
+					},
+				],
+            }
+        },
+        methods: {
+            closedia() {
+                this.infolist = {};
+                this.dialogStatus = false;
+            },
+            //搜索数据
+            searchInfo(v) {
+                this.params = {};
+                v[0] ? this.params.regionName = v[0] : '';
+                this.getList(this.params, this.pageSize);
+            },
+            //获取列表
+            getList(v, n) {
+                this.pageSize = n;
+                let _this = this;
+                this.loading = true;
+                this.tableData = [];
+                this.$http({
+                    url: "/market/cadvContract/queryPage",
+                    method: "post",
+                    headers: {
+                        "Content-Type": "application/json",
+                        "page": '{"pageNo":"' + n + '","pageSize":"10"}'
+                    },
+                    data: v,
+                }).then((res) => {
+                    this.tableData = res.data.data;
+                    this.total = res.data.totalRecord;
+                    this.loading = false;
+                });
+            },
+            // 分页
+            currchange(v) {
+                this.pageSize = v;
+                this.getList(this.params, this.pageSize);
+            },
+            //申请
+            dialogCheck(v, n) {
+                this.dialogStatus = true;
+                this.infolist = Object.assign({}, n);
+                if (v === 1) {
+                    this.titname = '查看';
+                    this.disableStatus = true;
+                    return
+                } else if (v === 2) {
+                    this.titname = '修改';
+                    this.disableStatus = false;
+                } else if (v === 3) {
+                    this.titname = '添加';
+                    this.disableStatus = false;
+                }
+                this.infolist.opNo = this.userInfo.loginNo;
+                this.infolist.opName = this.userInfo.loginName;
+            },
+            //添加
+            dialogCli(v) {
+                if (v === 1) {
+                    this.infolist = {};
+                    this.dialogStatus = false;
+                    return
+                } else {
+                    this.infolist.opTime = this.$formatDate(new Date(), "YYYY-MM-DD HH:mm:ss");
+                    if (this.titname === '添加') {
+                        this.submitInfo("/market/cadvContract/add");
+                    } else if (this.titname === '修改') {
+                        this.submitInfo("/market/cadvContract/update", v);
+                    }
+
+                }
+            },
+            submitInfo(u) {
+                let _this = this;
+                this.$refs.infolist.validate(valid => {
+                    if (valid) {
+                        this.loadinged = true;
+                        this.$http({
+                            url: u,
+                            method: "post",
+                            headers: {
+                                "Content-Type": "application/json",
+                            },
+                            data: this.infolist,
+                        }).then((res) => {
+                            this.loadinged = false;
+                            if (res.data.result === 1) {
+                                _this.$message({
+                                    message: res.data.desc,
+                                    type: 'error'
+                                });
+                            } else {
+                                _this.$message({
+                                    message: '成功',
+                                    type: 'success'
+                                });
+                                _this.infolist = {};
+                                _this.dialogStatus = false;
+                                _this.getList({}, _this.pageSize);
+                            }
+
+                        });
+                    }
+                })
+            },
+            closeMessage(v) {
+                this.centerDialogVisible = false;
+                let _this = this;
+                if (v === 1) {
+                    _this.$http({
+                        url: "/market/cadvContract/del",
+                        method: "post",
+                        headers: {
+                            "Content-Type": "application/json",
+                        },
+                        data: {
+                            id: this.delid
+                        },
+                    }).then((res) => {
+                        if (res.data.result === 1) {
+                            _this.$message({
+                                message: res.data.desc,
+                                type: 'error'
+                            });
+                        } else {
+                            _this.$message({
+                                message: '删除成功',
+                                type: 'success'
+                            });
+                            _this.getList(this.params, this.pageSize);
+                        }
+                    });
+                }
+            },
+            //删除
+            delLine(v) {
+                this.centerDialogVisible = true;
+                this.messTit = '即将删除此条数据, 是否删除?';
+                this.delid = v.id;
+            },
+            //文件返回值
+            uploadBack(v) {
+                console.log(v)
+            },
+            //功能栏
+            iconCli(v) {
+                if (v === 1) {
+                    this.getList(this.params, this.pageSize);
+                }
+                if (v === 2) {
+                    this.fullscreen = !this.fullscreen
+                }
+            },
+			verifcheck(){
+				for (let i = 0; i < this.regionOpt.length; i++) {
+				    if (this.regionOpt[i].compId === this.infolist.regionCode) {
+				        this.infolist.regionName = this.regionOpt[i].compName
+				    }
+				}
+			},
+            getUser() {
+                this.userInfo = JSON.parse(window.sessionStorage.userInfo);
+				this.$http({
+				    url: "/sysmgr/regionComp/queryList",
+				    method: "post",
+				    headers: {
+				        "Content-Type": "application/json",
+				    },
+				    data: {
+				        parentCompId: '0'
+				    },
+				}).then((res) => {
+				    this.regionOpt = res.data;
+				});
+            }
+        },
+        mounted() {
+            this.getList({}, 1);
+            this.getUser();
+        },
+        created() {
+
+        }
+    }
+</script>
+<style scoped lang="scss">
+    .onetab {
+        margin-bottom: 20px;
+        padding: 0 20px;
+    }
+
+    .titbox {
+        div {
+            float: right;
+
+            i {
+                font-size: 22px;
+                margin-left: 20px;
+                cursor: pointer;
+            }
+        }
+    }
+
+    .tabbox {
+        margin-top: 15px;
+    }
+
+    .pageBox {
+        text-align: right;
+        margin-top: 10px;
+    }
+
+    .info-line {
+        width: 100%;
+        display: block;
+        padding-left: 20px;
+
+        div {
+            width: 50%;
+            display: inline-block;
+        }
+
+        span {
+            width: 80px;
+            display: inline-block;
+            text-align: left;
+
+            i {
+                color: red;
+                display: inline-block;
+                padding-right: 5px;
+            }
+        }
+
+        .el-select,
+        .el-input {
+            width: calc(100% - 100px);
+        }
+    }
+
+    .online {
+        width: 100%;
+
+        .el-select {
+            width: calc(100% - 100px);
+        }
+
+        span {
+            vertical-align: top;
+        }
+
+        .el-textarea {
+            width: calc(100% - 100px);
+        }
+    }
+</style>

+ 192 - 0
src/pages/main/advertising/index.vue

@@ -0,0 +1,192 @@
+<template>
+    <fullscreen :fullscreen.sync="fullscreen" class="container">
+        <div class="container-box">
+			
+			<h2>广告宣传费台账</h2>
+			<div class="adv-type">
+			    <div @click="jumpinfop('/publicityAccount',1,'宣传费台账')">
+			        <span><i class="el-icon-folder-opened"></i></span>
+			        <span>模板管理</span>
+			    </div>
+				<div @click="jumpinfop('/publicityAccount',2,'宣传费台账')">
+			        <span><i class="el-icon-folder-opened"></i></span>
+			        <span>费用填报</span>
+			    </div>
+				<div @click="jumpinfop('/publicityAccount',3,'宣传费台账')">
+			        <span><i class="el-icon-folder-opened"></i></span>
+			        <span>台账查看</span>
+			    </div>
+			</div>
+			<h2 style="margin-top: 20px;">宣传物料管理</h2>
+			<div class="adv-type">
+			    <div class="wfour" @click="jumpinfo('/materialApplication','宣传物料管理')">
+			        <span><i class="el-icon-folder-opened"></i></span>
+			        <span>省级物料管理</span>
+			    </div>
+				<div class="wfour" @click="jumpinfo('/materialApplicationc','宣传物料管理')">
+			        <span><i class="el-icon-folder-opened"></i></span>
+			        <span>市级物料管理</span>
+			    </div>
+				<div class="wfour" @click="jumpinfo('/materialApplicationExa','物料申请审核')">
+				    <span><i class="el-icon-folder-opened"></i></span>
+				    <span>省级物料审批</span>
+				</div>
+				<div class="wfour" @click="jumpinfo('/materialApplicationExac','物料申请审核')">
+				    <span><i class="el-icon-folder-opened"></i></span>
+				    <span>市级物料审批</span>
+				</div>
+			</div>
+			<h2 style="margin-top: 20px;">基础数据管理</h2>
+			<div class="adv-type">
+			    <div class="wfive" @click="jumpinfo('/materiel','物料类型管理')">
+			        <span><i class="el-icon-folder-opened"></i></span>
+			        <span>物料类型管理</span>
+			    </div>
+				<div class="wfive" @click="jumpinfo('/contractCap','地市预算上限')">
+			        <span><i class="el-icon-folder-opened"></i></span>
+			        <span>地市预算及上限</span>
+			    </div>
+				<div class="wfive" @click="jumpinfo('/supplier','供应商管理')">
+				    <span><i class="el-icon-folder-opened"></i></span>
+				    <span>供应商管理</span>
+				</div>
+				<div class="wfive" @click="jumpinfo('/businessHall','营业厅物料管理')">
+				    <span><i class="el-icon-folder-opened"></i></span>
+				    <span>营业厅物料管理</span>
+				</div>
+				<div class="wfive" @click="jumpinfo('/materialApplistatic','物料统计')">
+				    <span><i class="el-icon-folder-opened"></i></span>
+				    <span>物料统计</span>
+				</div>
+			</div>
+			
+      </div>
+
+    </fullscreen>
+
+</template>
+<script>
+    import mySearch from "../../../components/search.vue";
+    import myMessage from "../../../components/myMessage.vue"
+    import toolList from '../../../components/toolList'
+	import myUpload from '../../../components/upload'
+
+    export default {
+        components: {
+            mySearch,
+            myMessage,
+            toolList,
+			myUpload
+        },
+        data() {
+          
+            return {
+                fullscreen: false,
+				lockFlag:'see'
+            }
+        },
+        methods: {
+            jumpinfop(p,v,n){
+				if(v == 1 && this.lockFlag != 'updata'){
+					return
+				}
+				this.$router.push({
+				    path: p,
+				    query:{
+				        type:v
+				    }
+				});
+				this.setabList(n, p+"?type="+v);
+			},
+			jumpinfo(p,n){
+				this.$router.push({
+				    path: p,
+				});
+				this.setabList(n, p);
+			},
+			setabList(n, p) {
+			    let params = {
+			        children: "",
+			        name: n,
+			        rountPath: p,
+			        target: "_self",
+			    };
+			    for (let i = 0; i < this.$store.state.tabList.length; i++) {
+			        if (this.$store.state.tabList[i].name === params.name) {
+			            this.$store.state.tabList[i] = params;
+			        }
+			    }
+			    let set = new Set([...this.$store.state.tabList, params]);
+			    set.add(params);
+			    this.$store.commit("setDefaultActive", params.rountPath);
+			    this.$store.commit("setTabList", Array.from(set));
+			},
+            getUser() {
+                this.userInfo = JSON.parse(window.sessionStorage.userInfo);
+				let Menus = JSON.parse(window.sessionStorage.childrenMenus);
+				for (let i = 0; i < Menus.length; i++) {
+					if(Menus[i].systemflag == 1 && Menus[i].jspUrl == '/publicityAccount'){
+						this.lockFlag = 'add';//省级
+					}
+					if(Menus[i].systemflag == 1 && Menus[i].jspUrl == '/publicity'){
+						this.lockFlag = 'updata';//管理员
+						i = Menus.length;
+					}
+				}
+            }
+        },
+        mounted() {
+            this.getUser();
+        },
+        created() {
+
+        }
+    }
+</script>
+<style scoped lang="scss">
+	.container-box{
+		height: calc(100vh - 200px);
+		overflow-y: scroll;
+		padding-bottom: 20px;
+	}
+	.adv-type{
+	    margin-top: 20px;
+	    display: flex;
+	    justify-content: space-between;
+	    flex-wrap: wrap;
+	    // border: 1px solid #ddd;
+	    border-radius: 5px;
+	    padding: 20px;
+	    box-shadow: 0 2px 12px 0 rgba(0,0,0,.1);
+	    div{
+	        width: 33%;
+	        text-align: center;
+	        height: 80px;
+	        overflow: hidden;
+	        min-width: 100px;
+	        cursor: pointer;
+	        padding-top: 10px;
+	        margin: 10px 0;
+	    }
+	    div:hover{
+	        background: #CFE8FC;
+	        border-radius: 5px;
+	    }
+	    span{
+	        width: 100%;
+	        display: inline-block;
+	        height: 40px;
+	        // line-height: 40px;
+	        i{
+	            color: #0074D9;
+	            font-size: 36px;
+	        }
+	    }
+		.wfour{
+			width: 25%;
+		}
+		.wfive{
+			width: 20%;
+		}
+	}
+</style>

+ 540 - 0
src/pages/main/advertising/materialApplication.vue

@@ -0,0 +1,540 @@
+<template>
+    <fullscreen :fullscreen.sync="fullscreen" class="container">
+        <div class="container-box">
+			<toolList @iconCli='iconCli' :tooltit='tooltit'></toolList>
+            <div class="search">
+                <mySearch :searchList="searchList" @searchInfo="searchInfo"></mySearch>
+                <el-button class="btn-check" size="medium" type="primary" @click='jumpadd'>添加
+                </el-button>
+            </div>
+            <div class="tabbox">
+                <el-table height="calc(100% - 40px)" class="com-table" ref="multipleTable" :data="tableData"
+                    tooltip-effect="dark" size="small" border style="width: 100%" v-loading="loading">
+                    <el-table-column prop="bizName" label="业务名称">
+                    </el-table-column>
+					<el-table-column prop="woNo" label="业务编码">
+                    </el-table-column>
+                    <el-table-column prop="scence" label="使用场景">
+                    </el-table-column>
+                    <el-table-column prop="approvalNo" label="申请工号">
+                    </el-table-column>
+					<el-table-column prop="approvalName" label="申请姓名">
+                    </el-table-column>
+                    <el-table-column prop="approvalTime" label="申请时间">
+                    </el-table-column>
+					<el-table-column prop="budget" label="预算金额">
+                    </el-table-column>
+					<!-- <el-table-column prop="sts" label="状态">
+                    </el-table-column> -->
+                    <el-table-column label="操作" width="100px" align="center">
+                        <template slot-scope="scope">
+                            <el-button size="mini" type="primary" @click="dialogCheck(1,scope.row)">查看</el-button>
+                            <!-- <el-button size="mini" type="primary" @click="dialogCheck(2,scope.row)">修改</el-button> -->
+                            <!-- <el-button size="mini" type="danger" @click="delLine(scope.row)">删除</el-button> -->
+                        </template>
+                    </el-table-column>
+                </el-table>
+                <el-pagination class="pageBox" @current-change="currchange" layout="prev, pager, next" background
+                    :total="total">
+                </el-pagination>
+            </div>
+        </div>
+
+        <el-dialog :title="titname" :visible.sync="dialogStatus" width="50%" :destroy-on-close="true"
+            :modal-append-to-body="false" :close-on-click-modal="false" :before-close="closedia" :fullscreen="true">
+            <div v-loading="loadinged">
+                <el-form :model="infolist" ref="infolist" :rules="rules" style="height: calc(100vh - 180px);overflow-y: scroll;">
+                    <div class="info-line">
+						<el-form-item>
+						    <span>业务名称</span>
+						    <el-input v-model="infoApply.tit" disabled></el-input>
+						</el-form-item>
+						<el-form-item>
+							<span>使用场景</span>
+							<el-input v-model="infoApply.scene" disabled></el-input>
+						</el-form-item>
+						<el-form-item>
+						    <span>下单周期</span>
+						    <el-date-picker v-model="infoApply.overtime" type="date" disabled></el-date-picker>
+						</el-form-item>
+						<el-form-item>
+							<span>物料类型</span>
+							<el-input v-model="infoApply.metirialName" disabled></el-input>
+						</el-form-item>
+						<el-form-item>
+						    <span>预估预算</span>
+						    <el-input v-model="infoApply.budget" disabled></el-input>
+						</el-form-item>
+                    </div>
+					<el-form-item class="info-line online">
+					    <span>补充说明</span>
+					    <el-input v-model="infoApply.explain" disabled type="textarea" :rows="3"></el-input>
+					</el-form-item>
+					<el-table :data="infoApply.infomaterType" border size="mini">
+						<el-table-column prop="type" label="类型">
+						</el-table-column>
+						<el-table-column prop="allProv" label="全省">
+						</el-table-column>
+						<el-table-column prop="hrb" label="哈尔滨">
+						</el-table-column>
+						<el-table-column prop="qqhr" label="齐齐哈尔">
+						</el-table-column>
+						<el-table-column prop="mdj" label="牡丹江">
+						</el-table-column>
+						<el-table-column prop="jms" label="佳木斯">
+						</el-table-column>
+						<el-table-column prop="dq" label="大庆">
+						</el-table-column>
+						<el-table-column prop="hg" label="鹤岗">
+						</el-table-column>
+						<el-table-column prop="yc" label="伊春">
+						</el-table-column>
+						<el-table-column prop="hh" label="黑河">
+						</el-table-column>
+						<el-table-column prop="jx" label="鸡西">
+						</el-table-column>
+						<el-table-column prop="sh" label="绥化">
+						</el-table-column>
+						<el-table-column prop="sys" label="双鸭山">
+						</el-table-column>
+						<el-table-column prop="qth" label="七台河">
+						</el-table-column>
+						<el-table-column prop="dxal" label="大兴安岭">
+						</el-table-column>
+					</el-table>
+					<el-table :data="infoApply.supplier" border size="mini" style="margin: 20px 0;">
+						<el-table-column prop="name" label="供应商">
+						</el-table-column>
+						<el-table-column prop="user" label="预算">
+						</el-table-column>
+						<el-table-column prop="cost" label="剩余">
+						</el-table-column>
+					</el-table>
+					<el-table class="com-table" ref="multipleTable" :data="rovaList" tooltip-effect="dark" size="small"
+					    border>
+					    <el-table-column prop="procId" label="编号">
+					    </el-table-column>
+					    <el-table-column prop="taskName" label="环节">
+					    </el-table-column>
+					    <el-table-column prop="opName" label="处理人">
+					    </el-table-column>
+					    <el-table-column prop="opNo" label="处理人工号">
+					    </el-table-column>
+					    <el-table-column prop="createTime" label="处理时间">
+					    </el-table-column>
+					    <el-table-column prop="remark" label="备注">
+					    </el-table-column>
+					</el-table>
+					<div class="boximgc">
+						<div v-for="(item,index) in infoApply.checkList" :key="index">
+							<img :src="item.fileBase64">
+						</div>
+					</div>
+                </el-form>
+
+                <div slot="footer" class="dialog-footer myfooter">
+                    <el-button type="primary" @click="dialogCli(2)" v-if="titname !== '查看'">确 定</el-button>
+                    <el-button @click="dialogCli(1)" v-if="titname === '查看'">确 定</el-button>
+                    <el-button @click="dialogCli(1)">取 消</el-button>
+                </div>
+            </div>
+        </el-dialog>
+
+        <myMessage :messTit='messTit' @closeMessage="closeMessage" :centerDialogVisible="centerDialogVisible" v-if="centerDialogVisible"></myMessage>
+    </fullscreen>
+
+</template>
+<script>
+    import mySearch from "../../../components/search.vue";
+    import myMessage from "../../../components/myMessage.vue"
+    import toolList from '../../../components/toolList'
+	import myUpload from '../../../components/upload'
+
+    export default {
+        components: {
+            mySearch,
+            myMessage,
+            toolList,
+			myUpload
+        },
+        data() {
+            const regionName = (rule, value, callback) => {
+                if (!this.infolist.regionName) {
+                    callback(new Error('不能为空'))
+                } else {
+                    callback()
+                }
+            }
+            const advTypeDesc = (rule, value, callback) => {
+                if (!this.infolist.advTypeDesc) {
+                    callback(new Error('不能为空'))
+                } else {
+                    callback()
+                }
+            }
+            return {
+                rules: {
+                    regionName: [{
+                        required: true,
+                        trigger: 'change',
+                        validator: regionName
+                    }],
+                    advTypeDesc: [{
+                        required: true,
+                        trigger: 'change',
+                        validator: advTypeDesc
+                    }],
+                },
+                searchList: [
+                    {
+                        type: 'input',
+                        tit: '物料名称',
+                        value: '',
+                        width: '48%',
+                    },
+					{
+                        type: 'input',
+                        tit: '地市名称',
+                        value: '',
+                        width: '48%',
+                    },
+                ],
+                tooltit:'物料申请管理',
+                fullscreen: false,
+                total: 0,
+                pageSize: 1,
+                tableData: [],
+                dialogStatus: false,
+                disableStatus: false,
+                titname: '',
+                infolist: {},
+                userInfo: {},
+                params: {},
+                centerDialogVisible: false,
+                messTit: '',
+                delid: '',
+                loading:false,
+                loadinged:false,
+				fileInfo: {
+				    limit: 10,
+				    url: '/market/cwo/upload',
+				    fileList: []
+				},
+				infoApply:{},
+				rovaList:[]
+            }
+        },
+        methods: {
+			jumpadd(){
+				this.$router.push({
+				    path: '/materialApplicationadd',
+				});
+				this.setabList('物料宣传申请','/materialApplicationadd');
+			},
+            closedia() {
+                this.infolist = {};
+                this.dialogStatus = false;
+            },
+            //搜索数据
+            searchInfo(v) {
+                this.params = {};
+                v[0] ? this.params.metirialName = v[0] : '';
+                v[0] ? this.params.regionName = v[0] : '';
+                this.getList(this.params, this.pageSize);
+            },
+            //获取列表
+            getList(v, n) {
+                this.pageSize = n;
+                let _this = this;
+                this.loading = true;
+                this.tableData = [];
+                this.$http({
+                    url: "/market/cadvMetirialApproval/queryPage",
+                    method: "post",
+                    headers: {
+                        "Content-Type": "application/json",
+                        "page": '{"pageNo":"' + n + '","pageSize":"10"}'
+                    },
+                    data: v,
+                }).then((res) => {
+                    this.tableData = res.data.data;
+                    this.total = res.data.totalRecord;
+                    this.loading = false;
+                });
+            },
+            // 分页
+            currchange(v) {
+                this.pageSize = v;
+                this.getList(this.params, this.pageSize);
+            },
+            //申请
+            dialogCheck(v, n) {
+                this.dialogStatus = true;
+                this.infolist = Object.assign({}, n);
+                if (v === 1) {
+                    this.titname = '查看';
+                    this.disableStatus = true;
+                } else if (v === 2) {
+                    this.titname = '修改';
+                    this.disableStatus = false;
+                }
+				this.$http({
+				    url: '/bpm/api/taskInit',
+				    method: "post",
+				    headers: {
+				        "Content-Type": "application/json",
+				    },
+				    data: {
+				        woNo: n.woNo
+				    },
+				}).then((res) => {
+				    this.infolist = Object.assign({}, res.data);
+				    this.infoApply = JSON.parse(this.infolist.params.terminalRes);
+					this.rovaList = res.data.taskList;
+				});
+            },
+            //添加
+            dialogCli(v) {
+                if (v === 1) {
+                    this.infolist = {};
+                    this.dialogStatus = false;
+                    return
+                } else {
+                    this.infolist.opTime = this.$formatDate(new Date(), "YYYY-MM-DD HH:mm:ss");
+                    if (this.titname === '添加') {
+                        this.submitInfo("/bpm/api/addBpmPrePlugin");
+                    } else if (this.titname === '修改') {
+                        this.submitInfo("/bpm/api/updateBpmPrePlugin", v);
+                    }
+
+                }
+            },
+            submitInfo(u) {
+                let _this = this;
+                this.$refs.infolist.validate(valid => {
+                    if (valid) {
+                        this.loadinged = true;
+                        this.$http({
+                            url: u,
+                            method: "post",
+                            headers: {
+                                "Content-Type": "application/json",
+                            },
+                            data: this.infolist,
+                        }).then((res) => {
+                            this.loadinged = false;
+                            if (res.data.result === 1) {
+                                _this.$message({
+                                    message: res.data.desc,
+                                    type: 'error'
+                                });
+                            } else {
+                                _this.$message({
+                                    message: '成功',
+                                    type: 'success'
+                                });
+                                _this.infolist = {};
+                                _this.dialogStatus = false;
+                                _this.getList({}, _this.pageSize);
+                            }
+
+                        });
+                    }
+                })
+            },
+            closeMessage(v) {
+                this.centerDialogVisible = false;
+                let _this = this;
+                if (v === 1) {
+                    _this.$http({
+                        url: "/bpm/api/deleteBpmPrePlugin",
+                        method: "post",
+                        headers: {
+                            "Content-Type": "application/json",
+                        },
+                        data: {
+                            id: this.delid
+                        },
+                    }).then((res) => {
+                        if (res.data.result === 1) {
+                            _this.$message({
+                                message: res.data.desc,
+                                type: 'error'
+                            });
+                        } else {
+                            _this.$message({
+                                message: '删除成功',
+                                type: 'success'
+                            });
+                            _this.getList(this.params, this.pageSize);
+                        }
+                    });
+                }
+            },
+            //删除
+            delLine(v) {
+                this.centerDialogVisible = true;
+                this.messTit = '即将删除此条数据, 是否删除?';
+                this.delid = v.id;
+            },
+            //文件返回值
+            uploadBack(v) {
+                console.log(v)
+            },
+            //功能栏
+            iconCli(v) {
+                if (v === 1) {
+                    this.getList(this.params, this.pageSize);
+                }
+                if (v === 2) {
+                    this.fullscreen = !this.fullscreen
+                }
+            },
+            getUser() {
+                this.userInfo = JSON.parse(window.sessionStorage.userInfo);
+
+            }
+        },
+        mounted() {
+            this.getList({}, 1);
+            this.getUser();
+        },
+        created() {
+
+        }
+    }
+</script>
+<style scoped lang="scss">
+    .onetab {
+        margin-bottom: 20px;
+        padding: 0 20px;
+    }
+
+    .titbox {
+        div {
+            float: right;
+
+            i {
+                font-size: 22px;
+                margin-left: 20px;
+                cursor: pointer;
+            }
+        }
+    }
+
+    .tabbox {
+        margin-top: 15px;
+    }
+
+    .pageBox {
+        text-align: right;
+        margin-top: 10px;
+    }
+
+    .info-line {
+        width: 100%;
+        display: block;
+        padding-left: 20px;
+
+        div {
+            width: 50%;
+            display: inline-block;
+        }
+
+        span {
+            width: 80px;
+            display: inline-block;
+            text-align: left;
+
+            i {
+                color: red;
+                display: inline-block;
+                padding-right: 5px;
+            }
+        }
+
+        .el-select,
+        .el-input {
+            width: calc(100% - 100px);
+        }
+    }
+
+    .online {
+        width: 100%;
+
+        .el-select {
+            width: calc(100% - 100px);
+        }
+
+        span {
+            vertical-align: top;
+        }
+
+        .el-textarea {
+            width: calc(100% - 100px);
+        }
+    }
+	.adv-type{
+	    margin-top: 20px;
+	    display: flex;
+	    justify-content: space-between;
+	    flex-wrap: wrap;
+	    // border: 1px solid #ddd;
+	    border-radius: 5px;
+	    padding: 20px;
+	    box-shadow: 0 2px 12px 0 rgba(0,0,0,.1);
+	    div{
+	        width: 33%;
+	        text-align: center;
+	        height: 80px;
+	        overflow: hidden;
+	        min-width: 100px;
+	        cursor: pointer;
+	        padding-top: 10px;
+	        margin: 10px 0;
+	    }
+	    div:hover{
+	        background: #CFE8FC;
+	        border-radius: 5px;
+	    }
+	    span{
+	        width: 100%;
+	        display: inline-block;
+	        height: 40px;
+	        // line-height: 40px;
+	        i{
+	            color: #0074D9;
+	            font-size: 36px;
+	        }
+	    }
+	}
+	.boximgc {
+		display: flex;
+		flex-wrap: wrap;
+		width: 100% !important;
+		margin-top: 20px;
+	
+		div {
+			display: inline-block;
+			width: 18% !important;
+			margin-right: 2%;
+			margin-bottom: 20px;
+			overflow: hidden;
+			border: 1px solid #ddd;
+			border-radius: 3px;
+			background: #fff;
+			position: relative;
+			height: 100px;
+	
+			img {
+				width: 100%;
+				position: absolute;
+				top: 0;
+				bottom: 0;
+				margin: auto;
+				// height: 100%;
+			}
+	
+		}
+	}
+</style>

+ 531 - 0
src/pages/main/advertising/materialApplicationExa.vue

@@ -0,0 +1,531 @@
+<template>
+    <fullscreen :fullscreen.sync="fullscreen" class="container">
+        <div class="container-box">
+			<toolList @iconCli='iconCli' :tooltit='tooltit'></toolList>
+            <div class="search">
+                <mySearch :searchList="searchList" @searchInfo="searchInfo"></mySearch>
+            </div>
+            <div class="tabbox">
+                <el-table height="calc(100% - 40px)" class="com-table" ref="multipleTable" :data="tableData"
+                    tooltip-effect="dark" size="small" border style="width: 100%" v-loading="loading">
+                    <el-table-column prop="bizName" label="业务名称">
+                    </el-table-column>
+					<el-table-column prop="woNo" label="业务编码">
+                    </el-table-column>
+                    <el-table-column prop="scence" label="使用场景">
+                    </el-table-column>
+                    <el-table-column prop="approvalNo" label="申请工号">
+                    </el-table-column>
+					<el-table-column prop="approvalName" label="申请姓名">
+                    </el-table-column>
+                    <el-table-column prop="approvalTime" label="申请时间">
+                    </el-table-column>
+					<el-table-column prop="budget" label="预算金额">
+                    </el-table-column>
+					<!-- <el-table-column prop="sts" label="状态">
+                    </el-table-column> -->
+                    <el-table-column label="操作" width="120px" align="center">
+                        <template slot-scope="scope">
+                            <el-button size="mini" type="primary" @click="dialogCheck(1,scope.row)">查看</el-button>
+                            <el-button size="mini" type="danger" @click="dialogCheck(2,scope.row)">审批</el-button>
+                            <!-- <el-button size="mini" type="danger" @click="delLine(scope.row)">删除</el-button> -->
+                        </template>
+                    </el-table-column>
+                </el-table>
+                <el-pagination class="pageBox" @current-change="currchange" layout="prev, pager, next" background
+                    :total="total">
+                </el-pagination>
+            </div>
+        </div>
+
+        <el-dialog :title="titname" :visible.sync="dialogStatus" width="50%" :destroy-on-close="true"
+            :modal-append-to-body="false" :close-on-click-modal="false" :before-close="closedia" :fullscreen="true">
+            <div v-loading="loadinged">
+                <el-form :model="infolist" ref="infolist" :rules="rules" style="height: calc(100vh - 180px);overflow-y: scroll;">
+                    <div class="info-line">
+						<el-form-item>
+						    <span>业务名称</span>
+						    <el-input v-model="infoApply.tit" disabled></el-input>
+						</el-form-item>
+						<el-form-item>
+							<span>使用场景</span>
+							<el-input v-model="infoApply.scene" disabled></el-input>
+						</el-form-item>
+						<el-form-item>
+						    <span>下单周期</span>
+						    <el-date-picker v-model="infoApply.overtime" type="date" disabled></el-date-picker>
+						</el-form-item>
+						<el-form-item>
+							<span>物料类型</span>
+							<el-input v-model="infoApply.metirialName" disabled></el-input>
+						</el-form-item>
+						<el-form-item>
+						    <span>预估预算</span>
+						    <el-input v-model="infoApply.budget" disabled></el-input>
+						</el-form-item>
+                    </div>
+					<el-form-item class="info-line online">
+					    <span>补充说明</span>
+					    <el-input v-model="infoApply.explain" disabled type="textarea" :rows="3"></el-input>
+					</el-form-item>
+					<el-table :data="infoApply.infomaterType" border size="mini">
+						<el-table-column prop="type" label="类型">
+						</el-table-column>
+						<el-table-column prop="allProv" label="全省">
+						</el-table-column>
+						<el-table-column prop="hrb" label="哈尔滨">
+						</el-table-column>
+						<el-table-column prop="qqhr" label="齐齐哈尔">
+						</el-table-column>
+						<el-table-column prop="mdj" label="牡丹江">
+						</el-table-column>
+						<el-table-column prop="jms" label="佳木斯">
+						</el-table-column>
+						<el-table-column prop="dq" label="大庆">
+						</el-table-column>
+						<el-table-column prop="hg" label="鹤岗">
+						</el-table-column>
+						<el-table-column prop="yc" label="伊春">
+						</el-table-column>
+						<el-table-column prop="hh" label="黑河">
+						</el-table-column>
+						<el-table-column prop="jx" label="鸡西">
+						</el-table-column>
+						<el-table-column prop="sh" label="绥化">
+						</el-table-column>
+						<el-table-column prop="sys" label="双鸭山">
+						</el-table-column>
+						<el-table-column prop="qth" label="七台河">
+						</el-table-column>
+						<el-table-column prop="dxal" label="大兴安岭">
+						</el-table-column>
+					</el-table>
+					<el-table :data="infoApply.supplier" border size="mini" style="margin: 20px 0;">
+						<el-table-column prop="name" label="供应商">
+						</el-table-column>
+						<el-table-column prop="user" label="预算">
+						</el-table-column>
+						<el-table-column prop="cost" label="剩余">
+						</el-table-column>
+					</el-table>
+					<el-table class="com-table" ref="multipleTable" :data="rovaList" tooltip-effect="dark" size="small"
+					    border>
+					    <el-table-column prop="procId" label="编号">
+					    </el-table-column>
+					    <el-table-column prop="taskName" label="环节">
+					    </el-table-column>
+					    <el-table-column prop="opName" label="处理人">
+					    </el-table-column>
+					    <el-table-column prop="opNo" label="处理人工号">
+					    </el-table-column>
+					    <el-table-column prop="createTime" label="处理时间">
+					    </el-table-column>
+					    <el-table-column prop="remark" label="备注">
+					    </el-table-column>
+					</el-table>
+					<el-form-item class="info-line online" style="margin-top: 20px;">
+					    <span>补充说明</span>
+					    <el-input v-model="infolist.remark" type="textarea" :rows="3"></el-input>
+					</el-form-item>
+                </el-form>
+
+                <div slot="footer" class="dialog-footer myfooter">
+					<el-button v-if="!disableStatus" type="primary" @click="dialogCli(2)">同 意</el-button>
+					<el-button v-if="!disableStatus" type="primary" @click="dialogCli(1)">驳 回</el-button>
+					<el-button v-if="disableStatus" @click="dialogCli(3)">确 定</el-button>
+					<el-button @click="dialogCli(3)">取 消</el-button>
+                </div>
+            </div>
+        </el-dialog>
+
+        <myMessage :messTit='messTit' @closeMessage="closeMessage" :centerDialogVisible="centerDialogVisible" v-if="centerDialogVisible"></myMessage>
+    </fullscreen>
+
+</template>
+<script>
+    import mySearch from "../../../components/search.vue";
+    import myMessage from "../../../components/myMessage.vue"
+    import toolList from '../../../components/toolList'
+	import myUpload from '../../../components/upload'
+
+    export default {
+        components: {
+            mySearch,
+            myMessage,
+            toolList,
+			myUpload
+        },
+        data() {
+            const regionName = (rule, value, callback) => {
+                if (!this.infolist.regionName) {
+                    callback(new Error('不能为空'))
+                } else {
+                    callback()
+                }
+            }
+            const advTypeDesc = (rule, value, callback) => {
+                if (!this.infolist.advTypeDesc) {
+                    callback(new Error('不能为空'))
+                } else {
+                    callback()
+                }
+            }
+            return {
+                rules: {
+                    regionName: [{
+                        required: true,
+                        trigger: 'change',
+                        validator: regionName
+                    }],
+                    advTypeDesc: [{
+                        required: true,
+                        trigger: 'change',
+                        validator: advTypeDesc
+                    }],
+                },
+                searchList: [
+                    // {
+                    //     type: 'input',
+                    //     tit: '物料名称',
+                    //     value: '',
+                    //     width: '48%',
+                    // },
+					{
+                        type: 'input',
+                        tit: '地市名称',
+                        value: '',
+                        width: '98%',
+                    },
+                ],
+                tooltit:'物料申请审核',
+                fullscreen: false,
+                total: 0,
+                pageSize: 1,
+                tableData: [],
+                dialogStatus: false,
+                disableStatus: false,
+                titname: '',
+                infolist: {},
+                userInfo: {},
+                params: {},
+                centerDialogVisible: false,
+                messTit: '',
+                delid: '',
+                loading:false,
+                loadinged:false,
+				fileInfo: {
+				    limit: 10,
+				    url: '/market/cwo/upload',
+				    fileList: []
+				},
+				infoApply:{},
+				rovaList:[]
+            }
+        },
+        methods: {
+            closedia() {
+                this.infolist = {};
+                this.dialogStatus = false;
+            },
+            //搜索数据
+            searchInfo(v) {
+                this.params = {};
+                // v[0] ? this.params.metirialName = v[0] : '';
+                v[0] ? this.params.regionName = v[0] : '';
+                this.getList(this.params, this.pageSize);
+            },
+            //获取列表
+            getList(v, n) {
+                this.pageSize = n;
+                let _this = this;
+                this.loading = true;
+                this.tableData = [];
+                this.$http({
+                    url: "/market/cadvMetirialApproval/queryAdvMetirialAuditListPage",
+                    method: "post",
+                    headers: {
+                        "Content-Type": "application/json",
+                        "page": '{"pageNo":"' + n + '","pageSize":"10"}'
+                    },
+                    data: v,
+                }).then((res) => {
+                    this.tableData = res.data;
+                    this.total = res.data.totalRecord;
+                    this.loading = false;
+                });
+            },
+            // 分页
+            currchange(v) {
+                this.pageSize = v;
+                this.getList(this.params, this.pageSize);
+            },
+            //申请
+            dialogCheck(v, n) {
+                this.dialogStatus = true;
+                this.infolist = Object.assign({}, n);
+                if (v === 1) {
+                    this.titname = '查看';
+                    this.disableStatus = true;
+                } else if (v === 2) {
+                    this.titname = '修改';
+                    this.disableStatus = false;
+                }
+				this.$http({
+				    url: '/bpm/api/taskInit',
+				    method: "post",
+				    headers: {
+				        "Content-Type": "application/json",
+				    },
+				    data: {
+				        woNo: n.woNo
+				    },
+				}).then((res) => {
+				    // this.infolist = Object.assign({}, res.data);
+				    this.infoApply = JSON.parse(res.data.params.terminalRes);
+					this.rovaList = res.data.taskList;
+				});
+            },
+            //添加
+            dialogCli(v) {
+                this.dialogStatus = false;
+                if (v === 3) {
+                    return
+                }
+                let _this = this;
+                this.infolist.opTime = _this.$formatDate(new Date(), "YYYY-MM-DD HH:mm:ss")
+				this.infolist.opNo = this.userInfo.loginNo;
+				this.infolist.opName = this.userInfo.loginName;
+				console.log(this.infolist)
+                if (v === 1) {
+                    let params = {
+                        dealType: '1',
+                        dealTypeDesc: '打回',
+                        procId: this.infolist.procId,
+                        procVersion: this.infolist.procVersion,
+                        remark: this.infolist.remark,
+                        stepId: this.infolist.stepId,
+                        taskId: this.infolist.taskId,
+                        taskName: this.infolist.taskName,
+                        opName: this.infolist.opName,
+                        opNo: this.infolist.opNo,
+                        opTime: this.infolist.opTime,
+                        params: {
+                            procExeCondiVal: '不同意',
+                            terminalRes: JSON.stringify(this.infoApply)
+                        },
+                        woNo: this.infolist.woNo,
+                    }
+                    this.submitInfo("/bpm/api/submitTask", params);
+                } else if (v === 2) {
+                    let param = {
+                        dealType: '0',
+                        dealTypeDesc: '提交',
+                        procId: this.infolist.procId,
+                        procVersion: this.infolist.procVersion,
+                        remark: this.infolist.remark,
+                        stepId: this.infolist.stepId,
+                        taskId: this.infolist.taskId,
+                        taskName: this.infolist.taskName,
+                        opName: this.infolist.opName,
+                        opNo: this.infolist.opNo,
+                        opTime: this.infolist.opTime,
+                        params: {
+                            terminalRes: JSON.stringify(this.infoApply)
+                        },
+                        woNo: this.infolist.woNo,
+                    }
+                    this.submitInfo("/bpm/api/submitTask", param);
+                }
+            },
+            submitInfo(u,v) {
+                let _this = this;
+                this.$http({
+                    url: u,
+                    method: "post",
+                    headers: {
+                        "Content-Type": "application/json",
+                    },
+                    data: v,
+                }).then((res) => {
+                    if (res.data.result === 1) {
+                        _this.$message({
+                            message: res.data.desc,
+                            type: 'error'
+                        });
+                    } else {
+                        _this.$message({
+                            message: '成功',
+                            type: 'success'
+                        });
+                        _this.getList(this.params, this.pageSize);
+                    }
+                
+                });
+            },
+            closeMessage(v) {
+                this.centerDialogVisible = false;
+                let _this = this;
+                if (v === 1) {
+                    _this.$http({
+                        url: "/bpm/api/deleteBpmPrePlugin",
+                        method: "post",
+                        headers: {
+                            "Content-Type": "application/json",
+                        },
+                        data: {
+                            id: this.delid
+                        },
+                    }).then((res) => {
+                        if (res.data.result === 1) {
+                            _this.$message({
+                                message: res.data.desc,
+                                type: 'error'
+                            });
+                        } else {
+                            _this.$message({
+                                message: '删除成功',
+                                type: 'success'
+                            });
+                            _this.getList(this.params, this.pageSize);
+                        }
+                    });
+                }
+            },
+            //删除
+            delLine(v) {
+                this.centerDialogVisible = true;
+                this.messTit = '即将删除此条数据, 是否删除?';
+                this.delid = v.id;
+            },
+            //文件返回值
+            uploadBack(v) {
+                console.log(v)
+            },
+            //功能栏
+            iconCli(v) {
+                if (v === 1) {
+                    this.getList(this.params, this.pageSize);
+                }
+                if (v === 2) {
+                    this.fullscreen = !this.fullscreen
+                }
+            },
+            getUser() {
+                this.userInfo = JSON.parse(window.sessionStorage.userInfo);
+
+            }
+        },
+        mounted() {
+            this.getList({}, 1);
+            this.getUser();
+        },
+        created() {
+
+        }
+    }
+</script>
+<style scoped lang="scss">
+    .onetab {
+        margin-bottom: 20px;
+        padding: 0 20px;
+    }
+
+    .titbox {
+        div {
+            float: right;
+
+            i {
+                font-size: 22px;
+                margin-left: 20px;
+                cursor: pointer;
+            }
+        }
+    }
+
+    .tabbox {
+        margin-top: 15px;
+    }
+
+    .pageBox {
+        text-align: right;
+        margin-top: 10px;
+    }
+
+    .info-line {
+        width: 100%;
+        display: block;
+        padding-left: 20px;
+
+        div {
+            width: 50%;
+            display: inline-block;
+        }
+
+        span {
+            width: 80px;
+            display: inline-block;
+            text-align: left;
+
+            i {
+                color: red;
+                display: inline-block;
+                padding-right: 5px;
+            }
+        }
+
+        .el-select,
+        .el-input {
+            width: calc(100% - 100px);
+        }
+    }
+
+    .online {
+        width: 100%;
+
+        .el-select {
+            width: calc(100% - 100px);
+        }
+
+        span {
+            vertical-align: top;
+        }
+
+        .el-textarea {
+            width: calc(100% - 100px);
+        }
+    }
+	.adv-type{
+	    margin-top: 20px;
+	    display: flex;
+	    justify-content: space-between;
+	    flex-wrap: wrap;
+	    // border: 1px solid #ddd;
+	    border-radius: 5px;
+	    padding: 20px;
+	    box-shadow: 0 2px 12px 0 rgba(0,0,0,.1);
+	    div{
+	        width: 33%;
+	        text-align: center;
+	        height: 80px;
+	        overflow: hidden;
+	        min-width: 100px;
+	        cursor: pointer;
+	        padding-top: 10px;
+	        margin: 10px 0;
+	    }
+	    div:hover{
+	        background: #CFE8FC;
+	        border-radius: 5px;
+	    }
+	    span{
+	        width: 100%;
+	        display: inline-block;
+	        height: 40px;
+	        // line-height: 40px;
+	        i{
+	            color: #0074D9;
+	            font-size: 36px;
+	        }
+	    }
+	}
+</style>

+ 504 - 0
src/pages/main/advertising/materialApplicationExac.vue

@@ -0,0 +1,504 @@
+<template>
+    <fullscreen :fullscreen.sync="fullscreen" class="container">
+        <div class="container-box">
+			<toolList @iconCli='iconCli' :tooltit='tooltit'></toolList>
+            <div class="search">
+                <mySearch :searchList="searchList" @searchInfo="searchInfo"></mySearch>
+            </div>
+            <div class="tabbox">
+                <el-table height="calc(100% - 40px)" class="com-table" ref="multipleTable" :data="tableData"
+                    tooltip-effect="dark" size="small" border style="width: 100%" v-loading="loading">
+                    <el-table-column prop="bizName" label="业务名称">
+                    </el-table-column>
+					<el-table-column prop="woNo" label="业务编码">
+                    </el-table-column>
+                    <el-table-column prop="scence" label="使用场景">
+                    </el-table-column>
+                    <el-table-column prop="approvalNo" label="申请工号">
+                    </el-table-column>
+					<el-table-column prop="approvalName" label="申请姓名">
+                    </el-table-column>
+                    <el-table-column prop="approvalTime" label="申请时间">
+                    </el-table-column>
+					<el-table-column prop="budget" label="预算金额">
+                    </el-table-column>
+					<!-- <el-table-column prop="sts" label="状态">
+                    </el-table-column> -->
+                    <el-table-column label="操作" width="120px" align="center">
+                        <template slot-scope="scope">
+                            <el-button size="mini" type="primary" @click="dialogCheck(1,scope.row)">查看</el-button>
+                            <el-button size="mini" type="danger" @click="dialogCheck(2,scope.row)">审批</el-button>
+                            <!-- <el-button size="mini" type="danger" @click="delLine(scope.row)">删除</el-button> -->
+                        </template>
+                    </el-table-column>
+                </el-table>
+                <el-pagination class="pageBox" @current-change="currchange" layout="prev, pager, next" background
+                    :total="total">
+                </el-pagination>
+            </div>
+        </div>
+
+        <el-dialog :title="titname" :visible.sync="dialogStatus" width="50%" :destroy-on-close="true"
+            :modal-append-to-body="false" :close-on-click-modal="false" :before-close="closedia" :fullscreen="true">
+            <div v-loading="loadinged">
+                <el-form :model="infolist" ref="infolist" :rules="rules" style="height: calc(100vh - 180px);overflow-y: scroll;">
+                    <div class="info-line">
+						<el-form-item>
+						    <span>业务名称</span>
+						    <el-input v-model="infoApply.tit" disabled></el-input>
+						</el-form-item>
+						<el-form-item>
+							<span>使用场景</span>
+							<el-input v-model="infoApply.scene" disabled></el-input>
+						</el-form-item>
+						<el-form-item>
+						    <span>下单周期</span>
+						    <el-date-picker v-model="infoApply.overtime" type="date" disabled></el-date-picker>
+						</el-form-item>
+						<el-form-item>
+							<span>物料类型</span>
+							<el-input v-model="infoApply.metirialName" disabled></el-input>
+						</el-form-item>
+						<el-form-item>
+						    <span>预估预算</span>
+						    <el-input v-model="infoApply.budget" disabled></el-input>
+						</el-form-item>
+						<el-form-item v-if="infoApply.infomaterType">
+						    <span>剩余成本</span>
+						    <el-input v-model="infoApply.infomaterType.sy" disabled></el-input>
+						</el-form-item>
+                    </div>
+					<el-form-item class="info-line online">
+					    <span>补充说明</span>
+					    <el-input v-model="infoApply.explain" disabled type="textarea" :rows="3"></el-input>
+					</el-form-item>
+					
+					<el-table :data="infoApply.supplier" border size="mini" style="margin: 20px 0;">
+						<el-table-column prop="name" label="供应商">
+						</el-table-column>
+						<el-table-column prop="user" label="预算">
+						</el-table-column>
+						<el-table-column prop="cost" label="剩余">
+						</el-table-column>
+					</el-table>
+					<el-table class="com-table" ref="multipleTable" :data="rovaList" tooltip-effect="dark" size="small"
+					    border>
+					    <el-table-column prop="procId" label="编号">
+					    </el-table-column>
+					    <el-table-column prop="taskName" label="环节">
+					    </el-table-column>
+					    <el-table-column prop="opName" label="处理人">
+					    </el-table-column>
+					    <el-table-column prop="opNo" label="处理人工号">
+					    </el-table-column>
+					    <el-table-column prop="createTime" label="处理时间">
+					    </el-table-column>
+					    <el-table-column prop="remark" label="备注">
+					    </el-table-column>
+					</el-table>
+					<el-form-item class="info-line online" style="margin-top: 20px;">
+					    <span>补充说明</span>
+					    <el-input v-model="infolist.remark" type="textarea" :rows="3"></el-input>
+					</el-form-item>
+                </el-form>
+
+                <div slot="footer" class="dialog-footer myfooter">
+					<el-button v-if="!disableStatus" type="primary" @click="dialogCli(2)">同 意</el-button>
+					<el-button v-if="!disableStatus" type="primary" @click="dialogCli(1)">驳 回</el-button>
+					<el-button v-if="disableStatus" @click="dialogCli(3)">确 定</el-button>
+					<el-button @click="dialogCli(3)">取 消</el-button>
+                </div>
+            </div>
+        </el-dialog>
+
+        <myMessage :messTit='messTit' @closeMessage="closeMessage" :centerDialogVisible="centerDialogVisible" v-if="centerDialogVisible"></myMessage>
+    </fullscreen>
+
+</template>
+<script>
+    import mySearch from "../../../components/search.vue";
+    import myMessage from "../../../components/myMessage.vue"
+    import toolList from '../../../components/toolList'
+	import myUpload from '../../../components/upload'
+
+    export default {
+        components: {
+            mySearch,
+            myMessage,
+            toolList,
+			myUpload
+        },
+        data() {
+            const regionName = (rule, value, callback) => {
+                if (!this.infolist.regionName) {
+                    callback(new Error('不能为空'))
+                } else {
+                    callback()
+                }
+            }
+            const advTypeDesc = (rule, value, callback) => {
+                if (!this.infolist.advTypeDesc) {
+                    callback(new Error('不能为空'))
+                } else {
+                    callback()
+                }
+            }
+            return {
+                rules: {
+                    regionName: [{
+                        required: true,
+                        trigger: 'change',
+                        validator: regionName
+                    }],
+                    advTypeDesc: [{
+                        required: true,
+                        trigger: 'change',
+                        validator: advTypeDesc
+                    }],
+                },
+                searchList: [
+                    // {
+                    //     type: 'input',
+                    //     tit: '物料名称',
+                    //     value: '',
+                    //     width: '48%',
+                    // },
+					{
+                        type: 'input',
+                        tit: '地市名称',
+                        value: '',
+                        width: '98%',
+                    },
+                ],
+                tooltit:'物料申请审核',
+                fullscreen: false,
+                total: 0,
+                pageSize: 1,
+                tableData: [],
+                dialogStatus: false,
+                disableStatus: false,
+                titname: '',
+                infolist: {},
+                userInfo: {},
+                params: {},
+                centerDialogVisible: false,
+                messTit: '',
+                delid: '',
+                loading:false,
+                loadinged:false,
+				fileInfo: {
+				    limit: 10,
+				    url: '/market/cwo/upload',
+				    fileList: []
+				},
+				infoApply:{},
+				rovaList:[]
+            }
+        },
+        methods: {
+            closedia() {
+                this.infolist = {};
+                this.dialogStatus = false;
+            },
+            //搜索数据
+            searchInfo(v) {
+                this.params = {};
+                // v[0] ? this.params.metirialName = v[0] : '';
+                v[0] ? this.params.regionName = v[0] : '';
+                this.getList(this.params, this.pageSize);
+            },
+            //获取列表
+            getList(v, n) {
+                this.pageSize = n;
+                let _this = this;
+                this.loading = true;
+                this.tableData = [];
+                this.$http({
+                    url: "/market/cadvMetirialApproval/queryAdvMetirialRegionAuditListPage",
+                    method: "post",
+                    headers: {
+                        "Content-Type": "application/json",
+                        "page": '{"pageNo":"' + n + '","pageSize":"10"}'
+                    },
+                    data: v,
+                }).then((res) => {
+                    this.tableData = res.data;
+                    this.total = res.data.totalRecord;
+                    this.loading = false;
+                });
+            },
+            // 分页
+            currchange(v) {
+                this.pageSize = v;
+                this.getList(this.params, this.pageSize);
+            },
+            //申请
+            dialogCheck(v, n) {
+                this.dialogStatus = true;
+                this.infolist = Object.assign({}, n);
+                if (v === 1) {
+                    this.titname = '查看';
+                    this.disableStatus = true;
+                } else if (v === 2) {
+                    this.titname = '修改';
+                    this.disableStatus = false;
+                }
+				this.$http({
+				    url: '/bpm/api/taskInit',
+				    method: "post",
+				    headers: {
+				        "Content-Type": "application/json",
+				    },
+				    data: {
+				        woNo: n.woNo
+				    },
+				}).then((res) => {
+				    // this.infolist = Object.assign({}, res.data);
+				    this.infoApply = JSON.parse(res.data.params.terminalRes);
+					this.rovaList = res.data.taskList;
+				});
+            },
+            //添加
+            dialogCli(v) {
+                this.dialogStatus = false;
+                if (v === 3) {
+                    return
+                }
+                let _this = this;
+                this.infolist.opTime = _this.$formatDate(new Date(), "YYYY-MM-DD HH:mm:ss")
+				this.infolist.opNo = this.userInfo.loginNo;
+				this.infolist.opName = this.userInfo.loginName;
+				console.log(this.infolist)
+                if (v === 1) {
+                    let params = {
+                        dealType: '1',
+                        dealTypeDesc: '打回',
+                        procId: this.infolist.procId,
+                        procVersion: this.infolist.procVersion,
+                        remark: this.infolist.remark,
+                        stepId: this.infolist.stepId,
+                        taskId: this.infolist.taskId,
+                        taskName: this.infolist.taskName,
+                        opName: this.infolist.opName,
+                        opNo: this.infolist.opNo,
+                        opTime: this.infolist.opTime,
+                        params: {
+                            procExeCondiVal: '不同意',
+                            terminalRes: JSON.stringify(this.infoApply)
+                        },
+                        woNo: this.infolist.woNo,
+                    }
+                    this.submitInfo("/bpm/api/submitTask", params);
+                } else if (v === 2) {
+                    let param = {
+                        dealType: '0',
+                        dealTypeDesc: '提交',
+                        procId: this.infolist.procId,
+                        procVersion: this.infolist.procVersion,
+                        remark: this.infolist.remark,
+                        stepId: this.infolist.stepId,
+                        taskId: this.infolist.taskId,
+                        taskName: this.infolist.taskName,
+                        opName: this.infolist.opName,
+                        opNo: this.infolist.opNo,
+                        opTime: this.infolist.opTime,
+                        params: {
+                            terminalRes: JSON.stringify(this.infoApply)
+                        },
+                        woNo: this.infolist.woNo,
+                    }
+                    this.submitInfo("/bpm/api/submitTask", param);
+                }
+            },
+            submitInfo(u,v) {
+                let _this = this;
+                this.$http({
+                    url: u,
+                    method: "post",
+                    headers: {
+                        "Content-Type": "application/json",
+                    },
+                    data: v,
+                }).then((res) => {
+                    if (res.data.result === 1) {
+                        _this.$message({
+                            message: res.data.desc,
+                            type: 'error'
+                        });
+                    } else {
+                        _this.$message({
+                            message: '成功',
+                            type: 'success'
+                        });
+                        _this.getList(this.params, this.pageSize);
+                    }
+                
+                });
+            },
+            closeMessage(v) {
+                this.centerDialogVisible = false;
+                let _this = this;
+                if (v === 1) {
+                    _this.$http({
+                        url: "/bpm/api/deleteBpmPrePlugin",
+                        method: "post",
+                        headers: {
+                            "Content-Type": "application/json",
+                        },
+                        data: {
+                            id: this.delid
+                        },
+                    }).then((res) => {
+                        if (res.data.result === 1) {
+                            _this.$message({
+                                message: res.data.desc,
+                                type: 'error'
+                            });
+                        } else {
+                            _this.$message({
+                                message: '删除成功',
+                                type: 'success'
+                            });
+                            _this.getList(this.params, this.pageSize);
+                        }
+                    });
+                }
+            },
+            //删除
+            delLine(v) {
+                this.centerDialogVisible = true;
+                this.messTit = '即将删除此条数据, 是否删除?';
+                this.delid = v.id;
+            },
+            //文件返回值
+            uploadBack(v) {
+                console.log(v)
+            },
+            //功能栏
+            iconCli(v) {
+                if (v === 1) {
+                    this.getList(this.params, this.pageSize);
+                }
+                if (v === 2) {
+                    this.fullscreen = !this.fullscreen
+                }
+            },
+            getUser() {
+                this.userInfo = JSON.parse(window.sessionStorage.userInfo);
+
+            }
+        },
+        mounted() {
+            this.getList({}, 1);
+            this.getUser();
+        },
+        created() {
+
+        }
+    }
+</script>
+<style scoped lang="scss">
+    .onetab {
+        margin-bottom: 20px;
+        padding: 0 20px;
+    }
+
+    .titbox {
+        div {
+            float: right;
+
+            i {
+                font-size: 22px;
+                margin-left: 20px;
+                cursor: pointer;
+            }
+        }
+    }
+
+    .tabbox {
+        margin-top: 15px;
+    }
+
+    .pageBox {
+        text-align: right;
+        margin-top: 10px;
+    }
+
+    .info-line {
+        width: 100%;
+        display: block;
+        padding-left: 20px;
+
+        div {
+            width: 50%;
+            display: inline-block;
+        }
+
+        span {
+            width: 80px;
+            display: inline-block;
+            text-align: left;
+
+            i {
+                color: red;
+                display: inline-block;
+                padding-right: 5px;
+            }
+        }
+
+        .el-select,
+        .el-input {
+            width: calc(100% - 100px);
+        }
+    }
+
+    .online {
+        width: 100%;
+
+        .el-select {
+            width: calc(100% - 100px);
+        }
+
+        span {
+            vertical-align: top;
+        }
+
+        .el-textarea {
+            width: calc(100% - 100px);
+        }
+    }
+	.adv-type{
+	    margin-top: 20px;
+	    display: flex;
+	    justify-content: space-between;
+	    flex-wrap: wrap;
+	    // border: 1px solid #ddd;
+	    border-radius: 5px;
+	    padding: 20px;
+	    box-shadow: 0 2px 12px 0 rgba(0,0,0,.1);
+	    div{
+	        width: 33%;
+	        text-align: center;
+	        height: 80px;
+	        overflow: hidden;
+	        min-width: 100px;
+	        cursor: pointer;
+	        padding-top: 10px;
+	        margin: 10px 0;
+	    }
+	    div:hover{
+	        background: #CFE8FC;
+	        border-radius: 5px;
+	    }
+	    span{
+	        width: 100%;
+	        display: inline-block;
+	        height: 40px;
+	        // line-height: 40px;
+	        i{
+	            color: #0074D9;
+	            font-size: 36px;
+	        }
+	    }
+	}
+</style>

+ 732 - 0
src/pages/main/advertising/materialApplicationadd.vue

@@ -0,0 +1,732 @@
+<template>
+	<div>
+		<div class="container">
+			<el-form :model="infolist" ref="infolist" :rules="rules" class="container-box">
+				<h2 style="display: block;margin-bottom: 20px;">物料宣传申请</h2>
+				<div style="height: calc(100% - 160px);overflow-y: scroll;">
+					<div class="info-line">
+						<el-form-item prop="terminalTypeName">
+							<span>业务名称</span>
+							<el-input v-model="infolist.tit" placeholder="业务名称" :disabled="disableStatus"></el-input>
+						</el-form-item>
+						<el-form-item>
+							<span>申请流程</span>
+							<el-select clearable v-model="terminal" placeholder="申请流程" @change="terminalChange">
+								<el-option v-for="items in options" :key="items.procId" :label="items.procName"
+									:value="items.procId">
+								</el-option>
+							</el-select>
+						</el-form-item>
+						<el-form-item prop="regionCode">
+							<span>地市名称</span>
+							<el-select :popper-append-to-body="false" v-model="infolist.regionCode" placeholder="地市名称"
+								@change="verifcheck" :disabled="!regionsts">
+								<el-option v-for="item in regionOpt" :key="item.compId" :label="item.compName"
+									:value="item.compId">
+								</el-option>
+							</el-select>
+						</el-form-item>
+						<el-form-item>
+							<span>使用场景</span>
+							<el-select :popper-append-to-body="false" clearable v-model="infolist.scene"
+								placeholder="使用场景">
+								<el-option v-for="items in sceneopt" :key="items.dataCode" :label="items.dataName"
+									:value="items.dataCode">
+								</el-option>
+							</el-select>
+						</el-form-item>
+						<el-form-item>
+							<span>下单周期</span>
+							<el-date-picker v-model="infolist.overtime" type="date" placeholder="下单周期">
+							</el-date-picker>
+						</el-form-item>
+						<el-form-item>
+							<span>预估预算</span>
+							<el-input v-model="infolist.budget" :placeholder="'当前剩余预算:'+preAccount"
+								:disabled="disableStatus"></el-input>
+						</el-form-item>
+					</div>
+					<el-form-item class="info-line online">
+						<span>物料类型</span>
+						<el-button type="primary" @click="gettypests"
+							style="width: 80px;margin-right: 20px;margin-bottom: 20px;">选择</el-button>
+						<el-table v-if="!regionsts" :data="infomaterType" style="width: calc(100% - 100px);margin-left: 80px;" border
+							size="mini">
+							<el-table-column prop="type" label="类型">
+							</el-table-column>
+							<el-table-column prop="allProv" label="全省">
+							</el-table-column>
+							<el-table-column prop="hrb" label="哈尔滨">
+							</el-table-column>
+							<el-table-column prop="qqhr" label="齐齐哈尔">
+							</el-table-column>
+							<el-table-column prop="mdj" label="牡丹江">
+							</el-table-column>
+							<el-table-column prop="jms" label="佳木斯">
+							</el-table-column>
+							<el-table-column prop="dq" label="大庆">
+							</el-table-column>
+							<el-table-column prop="hg" label="鹤岗">
+							</el-table-column>
+							<el-table-column prop="yc" label="伊春">
+							</el-table-column>
+							<el-table-column prop="hh" label="黑河">
+							</el-table-column>
+							<el-table-column prop="jx" label="鸡西">
+							</el-table-column>
+							<el-table-column prop="sh" label="绥化">
+							</el-table-column>
+							<el-table-column prop="sys" label="双鸭山">
+							</el-table-column>
+							<el-table-column prop="qth" label="七台河">
+							</el-table-column>
+							<el-table-column prop="dxal" label="大兴安岭">
+							</el-table-column>
+						</el-table>
+						<div v-if="regionsts" style="border: 1px solid #ddd;width: auto;padding:0 20px;">
+							<span style="width: auto;margin-right: 20px;">预估预算:{{infomaterType.ys}}</span>
+							<span style="width: auto;">剩余成本:{{infomaterType.sy}}</span>
+						</div>
+					</el-form-item>
+					<el-form-item class="info-line online">
+						<span>供应商</span>
+						<el-button type="primary" @click="getsuppliersts"
+							style="width: 80px;margin-right: 20px;margin-bottom: 20px;">选择</el-button>
+						<el-table :data="infolist.supplier" style="width: calc(100% - 100px);margin-left: 80px;" border
+							size="mini">
+							<el-table-column prop="name" label="供应商">
+							</el-table-column>
+							<el-table-column prop="user" label="预算">
+							</el-table-column>
+							<el-table-column prop="cost" label="剩余">
+							</el-table-column>
+						</el-table>
+					</el-form-item>
+					<el-form-item class="info-line online">
+						<span>广告素材</span>
+						<el-button type="primary" @click="getmater('01')"
+							style="width: 80px;margin-right: 20px;margin-bottom: 20px;">选择</el-button>
+						<div class="boximgc">
+							<div v-for="(item,index) in checkList" :key="item.id">
+								<img :src="item.fileBase64">
+							</div>
+						</div>
+					</el-form-item>
+					<el-form-item class="info-line online">
+						<span>补充说明</span>
+						<el-input v-model="infolist.explain" placeholder="补充说明" type="textarea" :rows="3"></el-input>
+					</el-form-item>
+				</div>
+				<div class="t-footer">
+					<el-button type="primary" @click="dialogCli(2)">确 定</el-button>
+					<el-button @click="dialogCli(1)">取 消</el-button>
+				</div>
+			</el-form>
+		</div>
+
+		<el-dialog title="物料类型" :visible.sync="typests" width="50%" :destroy-on-close="true"
+			:modal-append-to-body="false" :close-on-click-modal="false" :fullscreen="true">
+			<el-table ref="multipleTable" :data="typelist" tooltip-effect="dark" style="width: 100%"
+				highlight-current-row @current-change="handleSelectionChange" border height="calc(100vh - 180px)">
+				<el-table-column prop="metirialCode" label="物料代码" width="240">
+				</el-table-column>
+				<el-table-column prop="metirialName" label="物料名称" width="240">
+				</el-table-column>
+				<el-table-column prop="quality" label="物料材质">
+				</el-table-column>
+				<el-table-column prop="size" label="规格尺寸" width="240">
+				</el-table-column>
+			</el-table>
+			<div class="t-footer">
+				<el-button type="primary" @click="typestscheck">确 定</el-button>
+				<el-button @click="typests = false">取 消</el-button>
+			</div>
+		</el-dialog>
+		<el-dialog title="供应商" :visible.sync="suppliersts" width="50%" :destroy-on-close="true"
+			:modal-append-to-body="false" :close-on-click-modal="false" :fullscreen="true">
+			<el-table ref="multipleTablet" :data="suppList" tooltip-effect="dark" style="width: 100%"
+				@selection-change="handleSelectionChange" border height="calc(100vh - 180px)">
+				<el-table-column type="selection" width="55" align="center">
+				</el-table-column>
+				<el-table-column prop="name" label="供应商" width="120">
+				</el-table-column>
+				<el-table-column prop="cost" label="剩余预算" show-overflow-tooltip>
+				</el-table-column>
+				<el-table-column prop="user" label="预计使用">
+					<template slot-scope="scope">
+						<el-input v-model="scope.row.user"></el-input>
+					</template>
+				</el-table-column>
+			</el-table>
+			<div class="t-footer">
+				<el-button type="primary" @click="suppliercheck">确 定</el-button>
+				<el-button @click="suppliersts = false">取 消</el-button>
+			</div>
+		</el-dialog>
+		<el-dialog title="素材库" :visible.sync="matersts" width="50%" :destroy-on-close="true"
+			:modal-append-to-body="false" :close-on-click-modal="false" :fullscreen="true">
+			<el-select v-model="infotype" @change="getmater">
+				<el-option v-for="items in stypeList" :key="items.dataCode" :label="items.dataName"
+					:value="items.dataCode">
+				</el-option>
+			</el-select>
+			<div class="img-box">
+				<div class="boximg">
+					<div v-for="(item,index) in materList" :key="item.id">
+						<img :src="item.fileBase64" alt="" @click="checkimg(item,index)">
+					</div>
+				</div>
+				<h2>已选素材</h2>
+				<div class="boximg">
+					<div v-for="(item,index) in checkList" :key="item.id">
+						<img :src="item.fileBase64">
+					</div>
+				</div>
+			</div>
+			<div class="t-footer">
+				<el-button type="primary" @click="matersts = false">确 定</el-button>
+				<el-button @click="matersts = false">取 消</el-button>
+			</div>
+		</el-dialog>
+
+	</div>
+</template>
+<script>
+	import mySearch from "../../../components/search.vue";
+	import myUpload from "../../../components/upload.vue";
+
+	export default {
+		components: {
+			mySearch,
+			myUpload
+		},
+		data() {
+			const terminalTypeName = (rule, value, callback) => {
+				if (!this.infolist.tit) {
+					callback(new Error('不能为空'))
+				} else {
+					callback()
+				}
+			}
+			return {
+				rules: {
+					terminalTypeName: [{
+						required: true,
+						trigger: 'blur',
+						validator: terminalTypeName
+					}],
+				},
+				fullscreen: false,
+				tableData: [{}],
+				disableStatus: false,
+				infolist: {
+
+				},
+				terminal: '',
+				userInfo: {},
+				params: {},
+				attList: [],
+				//
+				options: [],
+				overtime: '',
+				materType: '',
+				scene: '',
+				sceneopt: [{
+					dataName: '门面区',
+					dataCode: 'A'
+				}, {
+					dataName: '主广告区',
+					dataCode: 'B'
+				}, {
+					dataName: '业务办理区',
+					dataCode: 'C'
+				}, {
+					dataName: '终端销售区',
+					dataCode: 'D'
+				}, {
+					dataName: '和家庭体验区',
+					dataCode: 'E'
+				}, {
+					dataName: '公告区',
+					dataCode: 'F'
+				}, {
+					dataName: '其他区域(地贴、桌前挡板)',
+					dataCode: 'G'
+				}, {
+					dataName: '各类专区(携转、全球通、关爱台席等)',
+					dataCode: 'H'
+				}, ],
+				typests: false,
+				suppliersts: false,
+				matersts: false,
+				typelist: [],
+				suppList: [],
+				materList: [],
+				stypeList: [],
+				radio: '',
+				radios: '',
+				objcenter: [],
+				regionOpt: [],
+				preAccount: 0,
+				fileInfo: {
+					type: 'img',
+					limit: 50,
+					url: '/bpm/api/upload',
+					fileList: []
+				},
+				infotype: '01',
+				checkList: [],
+				infomaterType: [],
+				metirialName: '',
+				regionsts: false
+			}
+		},
+		methods: {
+			terminalChange(v) {
+				if (v == '707409929100312576') {
+					this.regionsts = true;
+				} else {
+					this.regionsts = false;
+				}
+			},
+			//点击图片
+			checkimg(v, i) {
+				this.materList[i].checked = !this.materList[i].checked;
+				this.checkAdd(v);
+			},
+			//选中图片
+			checkAdd(v) {
+				let s = true;
+				for (let i = 0; i < this.checkList.length; i++) {
+					if (this.checkList[i].id == v.id) {
+						s = false;
+						this.checkList.splice(i, 1)
+						return
+					}
+				}
+				if (s) {
+					this.checkList.push(v);
+				}
+			},
+			//获取物料类型
+			gettypests() {
+				if (this.regionsts) {
+					if (!this.infolist.regionCode) {
+						this.$message({
+							message: '请先选择地市!',
+							type: 'error'
+						});
+						return
+					}
+				}
+				this.typests = true;
+				this.$http({
+					url: "/market/cadvMetirial/queryPage",
+					method: "post",
+					headers: {
+						"Content-Type": "application/json",
+						"page": '{"pageNo":"' + 1 + '","pageSize":"1000"}'
+					},
+					data: {},
+				}).then((res) => {
+					this.typelist = res.data.data;
+				});
+			},
+			//获取供应商
+			getsuppliersts() {
+				this.suppliersts = true;
+				this.$http({
+					url: "/market/cadvSupplier/queryPage",
+					method: "post",
+					headers: {
+						"Content-Type": "application/json",
+						"page": '{"pageNo":"' + 1 + '","pageSize":"1000"}'
+					},
+					data: {},
+				}).then((res) => {
+					this.suppList = res.data.data;
+				});
+			},
+
+			//获取素材
+			getmater(v) {
+				if (!this.matersts) {
+					this.$http({
+						url: "/sysmgr/cfgDataDicts/queryMap",
+						method: "post",
+						headers: {
+							"Content-Type": "application/json",
+						},
+						data: {
+							dictCodePks: 'materType'
+						},
+					}).then((res) => {
+						this.stypeList = res.data.body.materType;
+					});
+					this.matersts = true;
+				}
+				v = v == '08' ? '' : v;
+				this.$http({
+					url: "/market/cadvMaterial/queryPage",
+					method: "post",
+					headers: {
+						"Content-Type": "application/json",
+						"page": '{"pageNo":"' + 1 + '","pageSize":"1000"}'
+					},
+					data: {
+						advType: v
+					},
+				}).then((res) => {
+					this.materList = [];
+					res.data.data.forEach(item => {
+						item.checked = false;
+						this.materList.push(item)
+					})
+				});
+			},
+			handleSelectionChange(v) {
+				this.objcenter = v;
+			},
+			//选择类型
+			typestscheck() {
+				this.metirialName = this.objcenter.metirialName;
+				this.$http({
+					url: "/market/cadvMetirialApproval/queryMkAdvMetirialApprovalList",
+					method: "post",
+					headers: {
+						"Content-Type": "application/json",
+					},
+					data: {
+						metirialCode: this.objcenter.metirialCode,
+						regionCode: this.infolist.regionCode
+					},
+				}).then((res) => {
+					if(this.regionsts){
+						let opt = {
+							ys:res.data[0].allProv,
+							sy:res.data[1].allProv
+						}
+						this.infomaterType = opt;
+					}else{
+						this.infomaterType = res.data;
+					}
+				});
+				this.typests = false;
+			},
+			//选择供应商类型
+			suppliercheck() {
+				this.infolist.supplier = [];
+				this.infolist.supplier = this.objcenter;
+				this.suppliersts = false;
+			},
+			//添加
+			dialogCli(v) {
+				if (v === 1) {
+					this.fileInfo.fileList = [];
+					this.infolist = {};
+					return
+				}
+				let _this = this;
+				let info = {};
+				info.opTime = _this.$formatDate(new Date(), "YYYY-MM-DD HH:mm:ss");
+				info.opNo = this.userInfo.loginNo;
+				info.opName = this.userInfo.loginName;
+				info.woTitle = this.infolist.tit;
+				this.infolist.infomaterType = this.infomaterType;
+				this.infolist.metirialName = this.metirialName;
+				this.infolist.checkList = [];
+				for (let i = 0; i < this.checkList.length; i++) {
+					this.infolist.checkList.push(this.checkList[i].fileBase64)
+				}
+				info.params = {};
+				info.params.terminalRes = this.infolist;
+				info.procId = this.terminal;
+				for (let i = 0; i < this.options.length; i++) {
+					if (this.terminal == this.options[i].procId) {
+						info.procName = this.options[i].procName;
+						info.procVersion = this.options[i].procVersion;
+					}
+				}
+				info.params.terminalRes = JSON.stringify(info.params.terminalRes);
+				// if(this.preAccount*1 < this.infolist.budget*1){
+				// 	this.$message({
+				// 		message: '当前预算已超出剩余预算,请重新输入!',
+				// 		type: 'error'
+				// 	});
+				// 	return
+				// }
+				this.submitInfo("/bpm/api/startProc", info);
+			},
+			submitInfo(u, v) {
+				let _this = this;
+				this.$refs.infolist.validate(valid => {
+					if (valid) {
+						this.$http({
+							url: u,
+							method: "post",
+							headers: {
+								"Content-Type": "application/json",
+							},
+							data: v,
+						}).then((res) => {
+							if (res.data.result === 1) {
+								_this.$message({
+									message: res.data.desc,
+									type: 'error'
+								});
+							} else {
+								_this.$message({
+									message: '成功',
+									type: 'success'
+								});
+								_this.dialogCli(1);
+							}
+
+						});
+					}
+				})
+			},
+			//流程
+			getTermianl() {
+				this.$http({
+					url: "/bpm/api/queryBpmProcList",
+					method: "post",
+					headers: {
+						"Content-Type": "application/json",
+						"page": '{"pageNo":"' + 1 + '","pageSize":"100"}'
+					},
+					data: {},
+				}).then((res) => {
+					this.options = res.data.data;
+				});
+			},
+			getUser() {
+				this.userInfo = JSON.parse(window.sessionStorage.userInfo);
+			},
+			uploadBack(v) {
+				this.attList = v;
+			},
+			verifcheck() {
+				for (let i = 0; i < this.regionOpt.length; i++) {
+					if (this.regionOpt[i].compId === this.infolist.regionCode) {
+						this.infolist.regionName = this.regionOpt[i].compName
+						this.$http({
+							url: "/market/cadvContract/queryPage",
+							method: "post",
+							headers: {
+								"Content-Type": "application/json",
+								"page": '{"pageNo":"' + 1 + '","pageSize":"10"}'
+							},
+							data: {
+								regionName: this.infolist.regionName
+							},
+						}).then((res) => {
+							this.preAccount = res.data.data[0] ? res.data.data[0].preAccount : 0;
+						});
+					}
+				}
+			},
+			getRegion() {
+				this.$http({
+					url: "/sysmgr/regionComp/queryList",
+					method: "post",
+					headers: {
+						"Content-Type": "application/json",
+					},
+					data: {
+						parentCompId: '0'
+					},
+				}).then((res) => {
+					this.regionOpt = res.data;
+				});
+			}
+		},
+		mounted() {
+			this.getTermianl();
+			this.getUser();
+			this.getRegion();
+		},
+		created() {
+
+		}
+	}
+</script>
+<style scoped lang="scss">
+	.img-box {
+		height: calc(100vh - 240px);
+		overflow-y: scroll;
+
+		.boximg {
+			display: flex;
+			flex-wrap: wrap;
+			margin-top: 20px;
+
+			div {
+				display: inline-block;
+				width: 18%;
+				margin-right: 2%;
+				margin-bottom: 20px;
+				overflow: hidden;
+				border: 1px solid #ddd;
+				border-radius: 3px;
+				background: #fff;
+				position: relative;
+				height: 100px;
+
+				img {
+					width: 100%;
+					position: absolute;
+					top: 0;
+					bottom: 0;
+					margin: auto;
+					// height: 100%;
+				}
+
+			}
+		}
+	}
+
+	.boximgc {
+		display: flex;
+		flex-wrap: wrap;
+		width: calc(100% - 80px) !important;
+		margin-left: 80px;
+
+		div {
+			display: inline-block;
+			width: 18% !important;
+			margin-right: 2%;
+			margin-bottom: 20px;
+			overflow: hidden;
+			border: 1px solid #ddd;
+			border-radius: 3px;
+			background: #fff;
+			position: relative;
+			height: 100px;
+
+			img {
+				width: 100%;
+				position: absolute;
+				top: 0;
+				bottom: 0;
+				margin: auto;
+				// height: 100%;
+			}
+
+		}
+	}
+
+	.typebox {
+		div {
+			border: 1px solid #ddd;
+			border-top: transparent;
+
+			span {
+				display: inline-block;
+				width: 20%;
+				line-height: 30px;
+				padding: 10px;
+				vertical-align: top;
+			}
+
+			.big {
+				width: 35%;
+				// background: #f4f4f4;
+			}
+
+			.small {
+				width: 5%;
+				text-align: center;
+				// border-right: 1px solid #ddd;
+			}
+
+			.gys {
+				width: 40%;
+			}
+		}
+	}
+
+	.t-footer {
+		text-align: right;
+		padding-right: 20px;
+		margin-top: 20px;
+	}
+
+	.onetab {
+		padding: 20px;
+		height: calc(100% - 180px);
+	}
+
+	.titbox {
+		div {
+			float: right;
+
+			i {
+				font-size: 22px;
+				margin-left: 20px;
+				cursor: pointer;
+			}
+		}
+	}
+
+	.tabbox {
+		margin-top: 15px;
+	}
+
+	.pageBox {
+		text-align: right;
+		margin-top: 10px;
+	}
+
+	.info-line {
+		width: 100%;
+		display: block;
+		padding-left: 20px;
+
+		div {
+			width: 50%;
+			display: inline-block;
+		}
+
+		span {
+			width: 80px;
+			display: inline-block;
+			text-align: left;
+
+			i {
+				color: red;
+				display: inline-block;
+				padding-right: 5px;
+			}
+		}
+
+		.el-select,
+		.el-input {
+			width: calc(100% - 100px);
+		}
+
+		.el-checkbox-group {
+			border: 1px solid #ddd;
+			padding-left: 20px;
+			height: 40px;
+			width: calc(100% - 100px);
+			border-radius: 5px;
+		}
+	}
+
+	.online {
+		width: 100%;
+
+		.el-select {
+			width: calc(100% - 100px);
+		}
+
+		span {
+			vertical-align: top;
+		}
+
+		.el-textarea {
+			width: calc(100% - 100px);
+		}
+	}
+</style>

+ 508 - 0
src/pages/main/advertising/materialApplicationc.vue

@@ -0,0 +1,508 @@
+<template>
+    <fullscreen :fullscreen.sync="fullscreen" class="container">
+        <div class="container-box">
+			<toolList @iconCli='iconCli' :tooltit='tooltit'></toolList>
+            <div class="search">
+                <mySearch :searchList="searchList" @searchInfo="searchInfo"></mySearch>
+                <el-button class="btn-check" size="medium" type="primary" @click='jumpadd'>添加
+                </el-button>
+            </div>
+            <div class="tabbox">
+                <el-table height="calc(100% - 40px)" class="com-table" ref="multipleTable" :data="tableData"
+                    tooltip-effect="dark" size="small" border style="width: 100%" v-loading="loading">
+                    <el-table-column prop="bizName" label="业务名称">
+                    </el-table-column>
+					<el-table-column prop="woNo" label="业务编码">
+                    </el-table-column>
+                    <el-table-column prop="scence" label="使用场景">
+                    </el-table-column>
+                    <el-table-column prop="approvalNo" label="申请工号">
+                    </el-table-column>
+					<el-table-column prop="approvalName" label="申请姓名">
+                    </el-table-column>
+                    <el-table-column prop="approvalTime" label="申请时间">
+                    </el-table-column>
+					<el-table-column prop="budget" label="预算金额">
+                    </el-table-column>
+                    <el-table-column label="操作" width="100px" align="center">
+                        <template slot-scope="scope">
+                            <el-button size="mini" type="primary" @click="dialogCheck(1,scope.row)">查看</el-button>
+                        </template>
+                    </el-table-column>
+                </el-table>
+                <el-pagination class="pageBox" @current-change="currchange" layout="prev, pager, next" background
+                    :total="total">
+                </el-pagination>
+            </div>
+        </div>
+
+        <el-dialog :title="titname" :visible.sync="dialogStatus" width="50%" :destroy-on-close="true"
+            :modal-append-to-body="false" :close-on-click-modal="false" :before-close="closedia" :fullscreen="true">
+            <div v-loading="loadinged">
+                <el-form :model="infolist" ref="infolist" :rules="rules" style="height: calc(100vh - 180px);overflow-y: scroll;">
+                    <div class="info-line">
+						<el-form-item>
+						    <span>业务名称</span>
+						    <el-input v-model="infoApply.tit" disabled></el-input>
+						</el-form-item>
+						<el-form-item>
+							<span>使用场景</span>
+							<el-input v-model="infoApply.scene" disabled></el-input>
+						</el-form-item>
+						<el-form-item>
+						    <span>下单周期</span>
+						    <el-date-picker v-model="infoApply.overtime" type="date" disabled></el-date-picker>
+						</el-form-item>
+						<el-form-item>
+							<span>物料类型</span>
+							<el-input v-model="infoApply.metirialName" disabled></el-input>
+						</el-form-item>
+						<el-form-item>
+						    <span>预估预算</span>
+						    <el-input v-model="infoApply.budget" disabled></el-input>
+						</el-form-item>
+						<el-form-item v-if="infoApply.infomaterType">
+						    <span>剩余成本</span>
+						    <el-input v-model="infoApply.infomaterType.sy" disabled></el-input>
+						</el-form-item>
+                    </div>
+					<el-form-item class="info-line online">
+					    <span>补充说明</span>
+					    <el-input v-model="infoApply.explain" disabled type="textarea" :rows="3"></el-input>
+					</el-form-item>
+					<el-table :data="infoApply.supplier" border size="mini" style="margin: 20px 0;">
+						<el-table-column prop="name" label="供应商">
+						</el-table-column>
+						<el-table-column prop="user" label="预算">
+						</el-table-column>
+						<el-table-column prop="cost" label="剩余">
+						</el-table-column>
+					</el-table>
+					<el-table class="com-table" ref="multipleTable" :data="rovaList" tooltip-effect="dark" size="small"
+					    border>
+					    <el-table-column prop="procId" label="编号">
+					    </el-table-column>
+					    <el-table-column prop="taskName" label="环节">
+					    </el-table-column>
+					    <el-table-column prop="opName" label="处理人">
+					    </el-table-column>
+					    <el-table-column prop="opNo" label="处理人工号">
+					    </el-table-column>
+					    <el-table-column prop="createTime" label="处理时间">
+					    </el-table-column>
+					    <el-table-column prop="remark" label="备注">
+					    </el-table-column>
+					</el-table>
+					<div class="boximgc">
+						<div v-for="(item,index) in infoApply.checkList" :key="index">
+							<img :src="item.fileBase64">
+						</div>
+					</div>
+                </el-form>
+
+                <div slot="footer" class="dialog-footer myfooter">
+                    <el-button type="primary" @click="dialogCli(2)" v-if="titname !== '查看'">确 定</el-button>
+                    <el-button @click="dialogCli(1)" v-if="titname === '查看'">确 定</el-button>
+                    <el-button @click="dialogCli(1)">取 消</el-button>
+                </div>
+            </div>
+        </el-dialog>
+
+        <myMessage :messTit='messTit' @closeMessage="closeMessage" :centerDialogVisible="centerDialogVisible" v-if="centerDialogVisible"></myMessage>
+    </fullscreen>
+
+</template>
+<script>
+    import mySearch from "../../../components/search.vue";
+    import myMessage from "../../../components/myMessage.vue"
+    import toolList from '../../../components/toolList'
+	import myUpload from '../../../components/upload'
+
+    export default {
+        components: {
+            mySearch,
+            myMessage,
+            toolList,
+			myUpload
+        },
+        data() {
+            const regionName = (rule, value, callback) => {
+                if (!this.infolist.regionName) {
+                    callback(new Error('不能为空'))
+                } else {
+                    callback()
+                }
+            }
+            const advTypeDesc = (rule, value, callback) => {
+                if (!this.infolist.advTypeDesc) {
+                    callback(new Error('不能为空'))
+                } else {
+                    callback()
+                }
+            }
+            return {
+                rules: {
+                    regionName: [{
+                        required: true,
+                        trigger: 'change',
+                        validator: regionName
+                    }],
+                    advTypeDesc: [{
+                        required: true,
+                        trigger: 'change',
+                        validator: advTypeDesc
+                    }],
+                },
+                searchList: [
+                    {
+                        type: 'input',
+                        tit: '物料名称',
+                        value: '',
+                        width: '48%',
+                    },
+					{
+                        type: 'input',
+                        tit: '地市名称',
+                        value: '',
+                        width: '48%',
+                    },
+                ],
+                tooltit:'物料申请管理',
+                fullscreen: false,
+                total: 0,
+                pageSize: 1,
+                tableData: [],
+                dialogStatus: false,
+                disableStatus: false,
+                titname: '',
+                infolist: {},
+                userInfo: {},
+                params: {},
+                centerDialogVisible: false,
+                messTit: '',
+                delid: '',
+                loading:false,
+                loadinged:false,
+				fileInfo: {
+				    limit: 10,
+				    url: '/market/cwo/upload',
+				    fileList: []
+				},
+				infoApply:{},
+				rovaList:[]
+            }
+        },
+        methods: {
+			jumpadd(){
+				this.$router.push({
+				    path: '/materialApplicationadd',
+				});
+				this.setabList('物料宣传申请','/materialApplicationadd');
+			},
+            closedia() {
+                this.infolist = {};
+                this.dialogStatus = false;
+            },
+            //搜索数据
+            searchInfo(v) {
+                this.params = {};
+                v[0] ? this.params.metirialName = v[0] : '';
+                v[0] ? this.params.regionName = v[0] : '';
+                this.getList(this.params, this.pageSize);
+            },
+            //获取列表
+            getList(v, n) {
+                this.pageSize = n;
+                let _this = this;
+                this.loading = true;
+                this.tableData = [];
+                this.$http({
+                    url: "/market/cadvMetirialRegionApproval/queryPage",
+                    method: "post",
+                    headers: {
+                        "Content-Type": "application/json",
+                        "page": '{"pageNo":"' + n + '","pageSize":"10"}'
+                    },
+                    data: v,
+                }).then((res) => {
+                    this.tableData = res.data.data;
+                    this.total = res.data.totalRecord;
+                    this.loading = false;
+                });
+            },
+            // 分页
+            currchange(v) {
+                this.pageSize = v;
+                this.getList(this.params, this.pageSize);
+            },
+            //申请
+            dialogCheck(v, n) {
+                this.dialogStatus = true;
+                this.infolist = Object.assign({}, n);
+                if (v === 1) {
+                    this.titname = '查看';
+                    this.disableStatus = true;
+                } else if (v === 2) {
+                    this.titname = '修改';
+                    this.disableStatus = false;
+                }
+				this.$http({
+				    url: '/bpm/api/taskInit',
+				    method: "post",
+				    headers: {
+				        "Content-Type": "application/json",
+				    },
+				    data: {
+				        woNo: n.woNo
+				    },
+				}).then((res) => {
+				    this.infolist = Object.assign({}, res.data);
+				    this.infoApply = JSON.parse(this.infolist.params.terminalRes);
+					this.rovaList = res.data.taskList;
+				});
+            },
+            //添加
+            dialogCli(v) {
+                if (v === 1) {
+                    this.infolist = {};
+                    this.dialogStatus = false;
+                    return
+                } else {
+                    this.infolist.opTime = this.$formatDate(new Date(), "YYYY-MM-DD HH:mm:ss");
+                    if (this.titname === '添加') {
+                        this.submitInfo("/bpm/api/addBpmPrePlugin");
+                    } else if (this.titname === '修改') {
+                        this.submitInfo("/bpm/api/updateBpmPrePlugin", v);
+                    }
+
+                }
+            },
+            submitInfo(u) {
+                let _this = this;
+                this.$refs.infolist.validate(valid => {
+                    if (valid) {
+                        this.loadinged = true;
+                        this.$http({
+                            url: u,
+                            method: "post",
+                            headers: {
+                                "Content-Type": "application/json",
+                            },
+                            data: this.infolist,
+                        }).then((res) => {
+                            this.loadinged = false;
+                            if (res.data.result === 1) {
+                                _this.$message({
+                                    message: res.data.desc,
+                                    type: 'error'
+                                });
+                            } else {
+                                _this.$message({
+                                    message: '成功',
+                                    type: 'success'
+                                });
+                                _this.infolist = {};
+                                _this.dialogStatus = false;
+                                _this.getList({}, _this.pageSize);
+                            }
+
+                        });
+                    }
+                })
+            },
+            closeMessage(v) {
+                this.centerDialogVisible = false;
+                let _this = this;
+                if (v === 1) {
+                    _this.$http({
+                        url: "/bpm/api/deleteBpmPrePlugin",
+                        method: "post",
+                        headers: {
+                            "Content-Type": "application/json",
+                        },
+                        data: {
+                            id: this.delid
+                        },
+                    }).then((res) => {
+                        if (res.data.result === 1) {
+                            _this.$message({
+                                message: res.data.desc,
+                                type: 'error'
+                            });
+                        } else {
+                            _this.$message({
+                                message: '删除成功',
+                                type: 'success'
+                            });
+                            _this.getList(this.params, this.pageSize);
+                        }
+                    });
+                }
+            },
+            //删除
+            delLine(v) {
+                this.centerDialogVisible = true;
+                this.messTit = '即将删除此条数据, 是否删除?';
+                this.delid = v.id;
+            },
+            //文件返回值
+            uploadBack(v) {
+                console.log(v)
+            },
+            //功能栏
+            iconCli(v) {
+                if (v === 1) {
+                    this.getList(this.params, this.pageSize);
+                }
+                if (v === 2) {
+                    this.fullscreen = !this.fullscreen
+                }
+            },
+            getUser() {
+                this.userInfo = JSON.parse(window.sessionStorage.userInfo);
+
+            }
+        },
+        mounted() {
+            this.getList({}, 1);
+            this.getUser();
+        },
+        created() {
+
+        }
+    }
+</script>
+<style scoped lang="scss">
+    .onetab {
+        margin-bottom: 20px;
+        padding: 0 20px;
+    }
+
+    .titbox {
+        div {
+            float: right;
+
+            i {
+                font-size: 22px;
+                margin-left: 20px;
+                cursor: pointer;
+            }
+        }
+    }
+
+    .tabbox {
+        margin-top: 15px;
+    }
+
+    .pageBox {
+        text-align: right;
+        margin-top: 10px;
+    }
+
+    .info-line {
+        width: 100%;
+        display: block;
+        padding-left: 20px;
+
+        div {
+            width: 50%;
+            display: inline-block;
+        }
+
+        span {
+            width: 80px;
+            display: inline-block;
+            text-align: left;
+
+            i {
+                color: red;
+                display: inline-block;
+                padding-right: 5px;
+            }
+        }
+
+        .el-select,
+        .el-input {
+            width: calc(100% - 100px);
+        }
+    }
+
+    .online {
+        width: 100%;
+
+        .el-select {
+            width: calc(100% - 100px);
+        }
+
+        span {
+            vertical-align: top;
+        }
+
+        .el-textarea {
+            width: calc(100% - 100px);
+        }
+    }
+	.adv-type{
+	    margin-top: 20px;
+	    display: flex;
+	    justify-content: space-between;
+	    flex-wrap: wrap;
+	    // border: 1px solid #ddd;
+	    border-radius: 5px;
+	    padding: 20px;
+	    box-shadow: 0 2px 12px 0 rgba(0,0,0,.1);
+	    div{
+	        width: 33%;
+	        text-align: center;
+	        height: 80px;
+	        overflow: hidden;
+	        min-width: 100px;
+	        cursor: pointer;
+	        padding-top: 10px;
+	        margin: 10px 0;
+	    }
+	    div:hover{
+	        background: #CFE8FC;
+	        border-radius: 5px;
+	    }
+	    span{
+	        width: 100%;
+	        display: inline-block;
+	        height: 40px;
+	        // line-height: 40px;
+	        i{
+	            color: #0074D9;
+	            font-size: 36px;
+	        }
+	    }
+	}
+	.boximgc {
+		display: flex;
+		flex-wrap: wrap;
+		width: 100% !important;
+		margin-top: 20px;
+	
+		div {
+			display: inline-block;
+			width: 18% !important;
+			margin-right: 2%;
+			margin-bottom: 20px;
+			overflow: hidden;
+			border: 1px solid #ddd;
+			border-radius: 3px;
+			background: #fff;
+			position: relative;
+			height: 100px;
+	
+			img {
+				width: 100%;
+				position: absolute;
+				top: 0;
+				bottom: 0;
+				margin: auto;
+				// height: 100%;
+			}
+	
+		}
+	}
+</style>

+ 199 - 0
src/pages/main/advertising/materialApplistatic.vue

@@ -0,0 +1,199 @@
+<template>
+    <fullscreen :fullscreen.sync="fullscreen" class="container">
+        <div class="container-box">
+            <toolList @iconCli='iconCli' :tooltit='tooltit'></toolList>
+            <div class="search">
+                <mySearch :searchList="searchList" @searchInfo="searchInfo"></mySearch>
+				<span class="allprice">合计总额:3000</span>
+            </div>
+            <div class="tabbox">
+                <el-table height="calc(100% - 40px)" class="com-table" ref="multipleTable" :data="tableData"
+                    tooltip-effect="dark" size="small" border style="width: 100%" v-loading="loading">
+                    <el-table-column prop="name" label="地市">
+                    </el-table-column>
+                    <el-table-column prop="type" label="物料类型">
+                    </el-table-column>
+                    <el-table-column prop="money" label="单价">
+                    </el-table-column>
+                    <el-table-column prop="size" label="规格">
+                    </el-table-column>
+                    <el-table-column prop="num" label="数量">
+                    </el-table-column>
+					<el-table-column prop="all" label="小计">
+                    </el-table-column>
+                </el-table>
+                <el-pagination class="pageBox" @current-change="currchange" layout="prev, pager, next" background
+                    :total="total">
+                </el-pagination>
+            </div>
+        </div>
+
+    </fullscreen>
+
+</template>
+<script>
+    import mySearch from "../../../components/search.vue";
+    import toolList from '../../../components/toolList'
+
+    export default {
+        components: {
+            mySearch,
+            toolList
+        },
+        data() {
+            return {
+                searchList: [
+                    {
+                        type: 'input',
+                        tit: '地市名称',
+                        value: '',
+                        width: '48%',
+                    },
+					{
+                        type: 'input',
+                        tit: '物料类型',
+                        value: '',
+                        width: '48%',
+                    },
+                ],
+                tooltit:'物料统计',
+                fullscreen: false,
+                total: 0,
+                pageSize: 1,
+                tableData: [
+					{
+						name:'哈尔滨',
+						type:'电子屏幕',
+						money:'100',
+						size:'20*20',
+						num:'30',
+						all:'3000',
+					}
+				],
+				loading:false
+            }
+        },
+        methods: {
+            //搜索数据
+            searchInfo(v) {
+                this.params = {};
+                v[0] ? this.params.metirialName = v[0] : '';
+                this.getList(this.params, this.pageSize);
+            },
+            //获取列表
+            getList(v, n) {
+                // this.pageSize = n;
+                // let _this = this;
+                // this.loading = true;
+                // this.tableData = [];
+                // this.$http({
+                //     url: "/bpm/api/queryBpmPrePluginPage",
+                //     method: "post",
+                //     headers: {
+                //         "Content-Type": "application/json",
+                //         "page": '{"pageNo":"' + n + '","pageSize":"10"}'
+                //     },
+                //     data: v,
+                // }).then((res) => {
+                //     this.tableData = res.data.data;
+                //     this.total = res.data.totalRecord;
+                //     this.loading = false;
+                // });
+            },
+            // 分页
+            currchange(v) {
+                this.pageSize = v;
+                this.getList(this.params, this.pageSize);
+            },
+            //功能栏
+            iconCli(v) {
+                if (v === 1) {
+                    this.getList(this.params, this.pageSize);
+                }
+                if (v === 2) {
+                    this.fullscreen = !this.fullscreen
+                }
+            },
+        },
+        mounted() {
+            // this.getList({}, 1);
+        },
+        created() {
+
+        }
+    }
+</script>
+<style scoped lang="scss">
+    .onetab {
+        margin-bottom: 20px;
+        padding: 0 20px;
+    }
+
+    .titbox {
+        div {
+            float: right;
+
+            i {
+                font-size: 22px;
+                margin-left: 20px;
+                cursor: pointer;
+            }
+        }
+    }
+
+    .tabbox {
+        margin-top: 15px;
+    }
+
+    .pageBox {
+        text-align: right;
+        margin-top: 10px;
+    }
+
+    .info-line {
+        width: 100%;
+        display: block;
+        padding-left: 20px;
+
+        div {
+            width: 50%;
+            display: inline-block;
+        }
+
+        span {
+            width: 80px;
+            display: inline-block;
+            text-align: left;
+
+            i {
+                color: red;
+                display: inline-block;
+                padding-right: 5px;
+            }
+        }
+
+        .el-select,
+        .el-input {
+            width: calc(100% - 100px);
+        }
+    }
+
+    .online {
+        width: 100%;
+
+        .el-select {
+            width: calc(100% - 100px);
+        }
+
+        span {
+            vertical-align: top;
+        }
+
+        .el-textarea {
+            width: calc(100% - 100px);
+        }
+    }
+	.allprice{
+		line-height: 36px;
+	}
+</style>

+ 464 - 0
src/pages/main/advertising/materiel.vue

@@ -0,0 +1,464 @@
+<template>
+	<fullscreen :fullscreen.sync="fullscreen" class="container">
+		<div class="container-box">
+			<toolList @iconCli='iconCli' :tooltit='tooltit'></toolList>
+			<div class="search">
+				<mySearch :searchList="searchList" @searchInfo="searchInfo"></mySearch>
+				<el-button class="btn-check" size="medium" type="primary" @click="dialogCheck(3)">添加
+				</el-button>
+			</div>
+			<div class="tabbox">
+				<el-table height="calc(100% - 40px)" class="com-table" ref="multipleTable" :data="tableData"
+					tooltip-effect="dark" size="small" border style="width: 100%" v-loading="loading">
+					<el-table-column prop="sceneName" label="场景">
+					</el-table-column>
+					<el-table-column prop="metirialName" label="物料类别">
+					</el-table-column>
+					<el-table-column prop="metirialCode" label="物料编码" show-overflow-tooltip>
+					</el-table-column>
+					<el-table-column prop="quality" label="材质" width="200" show-overflow-tooltip>
+					</el-table-column>
+					<el-table-column prop="size" label="规格" show-overflow-tooltip>
+					</el-table-column>
+					<el-table-column prop="unit" label="单位">
+					</el-table-column>
+					<el-table-column prop="price" label="单价">
+					</el-table-column>
+					<el-table-column prop="proviceFlagName" label="申请权限">
+					</el-table-column>
+					<el-table-column label="操作" width="160px" align="center">
+						<template slot-scope="scope">
+							<el-button size="mini" type="primary" @click="dialogCheck(1,scope.row)">查看</el-button>
+							<el-button size="mini" type="primary" @click="dialogCheck(2,scope.row)">修改</el-button>
+							<el-button size="mini" type="danger" @click="delLine(scope.row)">删除</el-button>
+						</template>
+					</el-table-column>
+				</el-table>
+				<el-pagination class="pageBox" @current-change="currchange" layout="prev, pager, next" background
+					:total="total">
+				</el-pagination>
+			</div>
+		</div>
+
+		<el-dialog :title="titname + '物料类型'" :visible.sync="dialogStatus" width="50%" :destroy-on-close="true"
+			:modal-append-to-body="false" :close-on-click-modal="false" :before-close="closedia">
+			<div v-loading="loadinged">
+				<el-form :model="infolist" ref="infolist" :rules="rules">
+
+					<div class="info-line">
+						<el-form-item prop="metirialName">
+							<span>物料类别</span>
+							<el-input v-model="infolist.metirialName" placeholder="物料类别" :disabled="disableStatus">
+							</el-input>
+						</el-form-item>
+						<el-form-item prop="metirialCode">
+							<span>物料编码</span>
+							<el-input v-model="infolist.metirialCode" placeholder="物料编码" :disabled="disableStatus">
+							</el-input>
+						</el-form-item>
+						<el-form-item prop="metirialCode">
+							<span>使用场景</span>
+							<el-select :disabled="disableStatus" :popper-append-to-body="false"
+								v-model="infolist.scene" placeholder="使用场景">
+								<el-option v-for="item in sceneopt" :key="item.dataCode" :label="item.dataName"
+									:value="item.dataCode">
+								</el-option>
+							</el-select>
+						</el-form-item>
+						<el-form-item prop="proviceFlag">
+							<span>申请权限</span>
+							<el-select :disabled="disableStatus" :popper-append-to-body="false"
+								v-model="infolist.proviceFlag" placeholder="申请权限">
+								<el-option v-for="item in proviceopt" :key="item.id" :label="item.name"
+									:value="item.id">
+								</el-option>
+							</el-select>
+						</el-form-item>
+						<el-form-item>
+							<span>规格尺寸</span>
+							<el-input v-model="infolist.size" placeholder="规格尺寸" :disabled="disableStatus"></el-input>
+						</el-form-item>
+						<el-form-item>
+							<span>单位</span>
+							<el-input v-model="infolist.unit" placeholder="单位" :disabled="disableStatus"></el-input>
+						</el-form-item>
+						<el-form-item>
+							<span>单价</span>
+							<el-input v-model="infolist.price" placeholder="不含税单价" :disabled="disableStatus"></el-input>
+						</el-form-item>
+						<el-form-item>
+							<span>税率</span>
+							<el-input v-model="infolist.tax" placeholder="税率" :disabled="disableStatus"></el-input>
+						</el-form-item>
+						<el-form-item>
+							<span>安装</span>
+							<el-input v-model="infolist.install" placeholder="是否需要安装" :disabled="disableStatus"></el-input>
+						</el-form-item>
+					</div>
+					<el-form-item class="info-line online">
+						<span>物料材质</span>
+						<el-input v-model="infolist.quality" placeholder="物料材质" :disabled="disableStatus"
+							type="textarea" :rows="4"></el-input>
+					</el-form-item>
+				</el-form>
+
+				<div slot="footer" class="dialog-footer myfooter">
+					<el-button type="primary" @click="dialogCli(2)" v-if="titname !== '查看'">确 定</el-button>
+					<el-button @click="dialogCli(1)" v-if="titname === '查看'">确 定</el-button>
+					<el-button @click="dialogCli(1)">取 消</el-button>
+				</div>
+			</div>
+		</el-dialog>
+
+		<myMessage :messTit='messTit' @closeMessage="closeMessage" :centerDialogVisible="centerDialogVisible"
+			v-if="centerDialogVisible"></myMessage>
+	</fullscreen>
+
+</template>
+<script>
+	import mySearch from "../../../components/search.vue";
+	import myMessage from "../../../components/myMessage.vue"
+	import toolList from '../../../components/toolList'
+
+	export default {
+		components: {
+			mySearch,
+			myMessage,
+			toolList
+		},
+		data() {
+			const metirialName = (rule, value, callback) => {
+				if (!this.infolist.metirialName) {
+					callback(new Error('不能为空'))
+				} else {
+					callback()
+				}
+			}
+			const proviceFlag = (rule, value, callback) => {
+				if (!this.infolist.proviceFlag) {
+					callback(new Error('不能为空'))
+				} else {
+					callback()
+				}
+			}
+			return {
+				rules: {
+					metirialName: [{
+						required: true,
+						trigger: 'blur',
+						validator: metirialName
+					}],
+					proviceFlag: [{
+						required: true,
+						trigger: 'change',
+						validator: proviceFlag
+					}],
+				},
+				searchList: [{
+					type: 'input',
+					tit: '物料名称',
+					value: '',
+					width: '98%',
+				}, ],
+				tooltit: '物料类型管理',
+				fullscreen: false,
+				total: 0,
+				pageSize: 1,
+				tableData: [],
+				dialogStatus: false,
+				disableStatus: false,
+				titname: '',
+				infolist: {},
+				userInfo: {},
+				params: {},
+				centerDialogVisible: false,
+				messTit: '',
+				delid: '',
+				loading: false,
+				loadinged: false,
+				proviceopt: [{
+						id: '0',
+						name: '省公司'
+					},
+					{
+						id: '1',
+						name: '地市公司'
+					},
+					{
+						id: '2',
+						name: '省+地市'
+					},
+				],
+				sceneopt: [{
+					dataName: '门面区',
+					dataCode: 'A'
+				}, {
+					dataName: '主广告区',
+					dataCode: 'B'
+				}, {
+					dataName: '业务办理区',
+					dataCode: 'C'
+				}, {
+					dataName: '终端销售区',
+					dataCode: 'D'
+				}, {
+					dataName: '和家庭体验区',
+					dataCode: 'E'
+				}, {
+					dataName: '公告区',
+					dataCode: 'F'
+				}, {
+					dataName: '其他区域(地贴、桌前挡板)',
+					dataCode: 'G'
+				}, {
+					dataName: '各类专区(携转、全球通、关爱台席等)',
+					dataCode: 'H'
+				}, ],
+			}
+		},
+		methods: {
+			closedia() {
+				this.infolist = {};
+				this.dialogStatus = false;
+			},
+			//搜索数据
+			searchInfo(v) {
+				this.params = {};
+				v[0] ? this.params.metirialName = v[0] : '';
+				this.getList(this.params, this.pageSize);
+			},
+			//获取列表
+			getList(v, n) {
+				this.pageSize = n;
+				let _this = this;
+				this.loading = true;
+				this.tableData = [];
+				this.$http({
+					url: "/market/cadvMetirial/queryPage",
+					method: "post",
+					headers: {
+						"Content-Type": "application/json",
+						"page": '{"pageNo":"' + n + '","pageSize":"10"}'
+					},
+					data: v,
+				}).then((res) => {
+					res.data.data.forEach(item=>{
+						for (let i = 0; i < this.sceneopt.length; i++) {
+							if(this.sceneopt[i].dataCode == item.scene){
+								item.sceneName = this.sceneopt[i].dataName;
+							}
+						}
+					})
+					this.tableData = res.data.data;
+					this.total = res.data.totalRecord;
+					this.loading = false;
+				});
+			},
+			// 分页
+			currchange(v) {
+				this.pageSize = v;
+				this.getList(this.params, this.pageSize);
+			},
+			//申请
+			dialogCheck(v, n) {
+				this.dialogStatus = true;
+				this.infolist = Object.assign({}, n);
+				if (v === 1) {
+					this.titname = '查看';
+					this.disableStatus = true;
+					return
+				} else if (v === 2) {
+					this.titname = '修改';
+					this.disableStatus = false;
+				} else if (v === 3) {
+					this.titname = '添加';
+					this.disableStatus = false;
+				}
+				this.infolist.opNo = this.userInfo.loginNo;
+				this.infolist.opName = this.userInfo.loginName;
+			},
+			//添加
+			dialogCli(v) {
+				if (v === 1) {
+					this.infolist = {};
+					this.dialogStatus = false;
+					return
+				} else {
+					this.infolist.opTime = this.$formatDate(new Date(), "YYYY-MM-DD HH:mm:ss");
+					this.infolist.sts = "0";
+					this.infolist.stsDesc = "在用";
+					this.infolist.proviceFlagName = this.infolist.proviceFlag == "0"?'省公司':'地市公司';
+					if (this.titname === '添加') {
+						this.submitInfo("/market/cadvMetirial/add");
+					} else if (this.titname === '修改') {
+						this.submitInfo("/market/cadvMetirial/update", v);
+					}
+
+				}
+			},
+			submitInfo(u) {
+				let _this = this;
+				this.$refs.infolist.validate(valid => {
+					if (valid) {
+						this.loadinged = true;
+						this.$http({
+							url: u,
+							method: "post",
+							headers: {
+								"Content-Type": "application/json",
+							},
+							data: this.infolist,
+						}).then((res) => {
+							this.loadinged = false;
+							if (res.data.result === 1) {
+								_this.$message({
+									message: res.data.desc,
+									type: 'error'
+								});
+							} else {
+								_this.$message({
+									message: '成功',
+									type: 'success'
+								});
+								_this.infolist = {};
+								_this.dialogStatus = false;
+								_this.getList({}, _this.pageSize);
+							}
+
+						});
+					}
+				})
+			},
+			closeMessage(v) {
+				this.centerDialogVisible = false;
+				let _this = this;
+				if (v === 1) {
+					_this.$http({
+						url: "/market/cadvMetirial/del",
+						method: "post",
+						headers: {
+							"Content-Type": "application/json",
+						},
+						data: {
+							id: this.delid
+						},
+					}).then((res) => {
+						if (res.data.result === 1) {
+							_this.$message({
+								message: res.data.desc,
+								type: 'error'
+							});
+						} else {
+							_this.$message({
+								message: '删除成功',
+								type: 'success'
+							});
+							_this.getList(this.params, this.pageSize);
+						}
+					});
+				}
+			},
+			//删除
+			delLine(v) {
+				this.centerDialogVisible = true;
+				this.messTit = '即将删除此条数据, 是否删除?';
+				this.delid = v.id;
+			},
+			//文件返回值
+			uploadBack(v) {
+				console.log(v)
+			},
+			//功能栏
+			iconCli(v) {
+				if (v === 1) {
+					this.getList(this.params, this.pageSize);
+				}
+				if (v === 2) {
+					this.fullscreen = !this.fullscreen
+				}
+			},
+			getUser() {
+				this.userInfo = JSON.parse(window.sessionStorage.userInfo);
+
+			}
+		},
+		mounted() {
+			this.getList({}, 1);
+			this.getUser();
+		},
+		created() {
+
+		}
+	}
+</script>
+<style scoped lang="scss">
+	.onetab {
+		margin-bottom: 20px;
+		padding: 0 20px;
+	}
+
+	.titbox {
+		div {
+			float: right;
+
+			i {
+				font-size: 22px;
+				margin-left: 20px;
+				cursor: pointer;
+			}
+		}
+	}
+
+	.tabbox {
+		margin-top: 15px;
+	}
+
+	.pageBox {
+		text-align: right;
+		margin-top: 10px;
+	}
+
+	.info-line {
+		width: 100%;
+		display: block;
+		padding-left: 20px;
+
+		div {
+			width: 50%;
+			display: inline-block;
+		}
+
+		span {
+			width: 80px;
+			display: inline-block;
+			text-align: left;
+
+			i {
+				color: red;
+				display: inline-block;
+				padding-right: 5px;
+			}
+		}
+
+		.el-select,
+		.el-input {
+			width: calc(100% - 100px);
+		}
+	}
+
+	.online {
+		width: 100%;
+
+		.el-select {
+			width: calc(100% - 100px);
+		}
+
+		span {
+			vertical-align: top;
+		}
+
+		.el-textarea {
+			width: calc(100% - 100px);
+		}
+	}
+</style>

+ 10 - 0
src/pages/main/advertising/publicityAccount.vue

@@ -0,0 +1,10 @@
+<template>
+  <div class="container">
+    <iframe
+      height="100%"
+      width="100%"
+      src="/static/views/publiAccount.html"
+      frameborder="0"
+    ></iframe>
+  </div>
+</template>

+ 395 - 0
src/pages/main/advertising/supplier.vue

@@ -0,0 +1,395 @@
+<template>
+    <fullscreen :fullscreen.sync="fullscreen" class="container">
+        <div class="container-box">
+            <toolList @iconCli='iconCli' :tooltit='tooltit'></toolList>
+            <div class="search">
+                <mySearch :searchList="searchList" @searchInfo="searchInfo"></mySearch>
+                <el-button class="btn-check" size="medium" type="primary" @click="dialogCheck(3)">添加
+                </el-button>
+            </div>
+            <div class="tabbox">
+                <el-table height="calc(100% - 40px)" class="com-table" ref="multipleTable" :data="tableData"
+                    tooltip-effect="dark" size="small" border style="width: 100%" v-loading="loading">
+                    <el-table-column prop="name" label="供应商">
+                    </el-table-column>
+                    <el-table-column prop="code" label="供应商编码">
+                    </el-table-column>
+                    <el-table-column prop="opNo" label="配置工号">
+                    </el-table-column>
+                    <el-table-column prop="opName" label="配置姓名">
+                    </el-table-column>
+                    <el-table-column prop="opTime" label="配置时间">
+                    </el-table-column>
+					<el-table-column prop="cost" label="剩余预算">
+                    </el-table-column>
+                    <el-table-column label="操作" width="160px" align="center">
+                        <template slot-scope="scope">
+                            <el-button size="mini" type="primary" @click="dialogCheck(1,scope.row)">查看</el-button>
+                            <el-button size="mini" type="primary" @click="dialogCheck(2,scope.row)">修改</el-button>
+                            <el-button size="mini" type="danger" @click="delLine(scope.row)">删除</el-button>
+                        </template>
+                    </el-table-column>
+                </el-table>
+                <el-pagination class="pageBox" @current-change="currchange" layout="prev, pager, next" background
+                    :total="total">
+                </el-pagination>
+            </div>
+        </div>
+
+        <el-dialog :title="titname + '供应商'" :visible.sync="dialogStatus" width="50%" :destroy-on-close="true"
+            :modal-append-to-body="false" :close-on-click-modal="false" :before-close="closedia">
+            <div v-loading="loadinged">
+                <el-form :model="infolist" ref="infolist" :rules="rules">
+					
+                    <div class="info-line">
+                        <el-form-item>
+                            <span>供应商</span>
+                            <el-input v-model="infolist.name" placeholder="供应商名称" :disabled="disableStatus"></el-input>
+                        </el-form-item>
+						<el-form-item>
+                            <span>供应商编码</span>
+                            <el-input v-model="infolist.code" placeholder="供应商编码" disabled></el-input>
+                        </el-form-item>
+						<el-form-item>
+						    <span>剩余预算</span>
+						    <el-input v-model="infolist.cost" placeholder="剩余预算" :disabled="disableStatus"></el-input>
+						</el-form-item>
+						<el-form-item>
+						    <span>创建时间</span>
+						    <el-date-picker v-model="infolist.opTime" type="date" placeholder="创建时间" disabled>
+						    </el-date-picker>
+						</el-form-item>
+                        <el-form-item>
+                            <span>创建工号</span>
+                            <el-input v-model="infolist.opNo" placeholder="创建工号" disabled></el-input>
+                        </el-form-item>
+                        <el-form-item>
+                            <span>创建姓名</span>
+                            <el-input v-model="infolist.opName" placeholder="创建姓名" disabled></el-input>
+                        </el-form-item>
+                    </div>
+                </el-form>
+
+                <div slot="footer" class="dialog-footer myfooter">
+                    <el-button type="primary" @click="dialogCli(2)" v-if="titname !== '查看'">确 定</el-button>
+                    <el-button @click="dialogCli(1)" v-if="titname === '查看'">确 定</el-button>
+                    <el-button @click="dialogCli(1)">取 消</el-button>
+                </div>
+            </div>
+        </el-dialog>
+
+        <myMessage :messTit='messTit' @closeMessage="closeMessage" :centerDialogVisible="centerDialogVisible" v-if="centerDialogVisible"></myMessage>
+    </fullscreen>
+
+</template>
+<script>
+    import mySearch from "../../../components/search.vue";
+    import myMessage from "../../../components/myMessage.vue"
+    import toolList from '../../../components/toolList'
+
+    export default {
+        components: {
+            mySearch,
+            myMessage,
+            toolList
+        },
+        data() {
+            const metirialName = (rule, value, callback) => {
+                if (!this.infolist.metirialName) {
+                    callback(new Error('不能为空'))
+                } else {
+                    callback()
+                }
+            }
+            const proviceFlagName = (rule, value, callback) => {
+                if (!this.infolist.proviceFlagName) {
+                    callback(new Error('不能为空'))
+                } else {
+                    callback()
+                }
+            }
+            return {
+                rules: {
+                    metirialName: [{
+                        required: true,
+                        trigger: 'blur',
+                        validator: metirialName
+                    }],
+                    proviceFlagName: [{
+                        required: true,
+                        trigger: 'change',
+                        validator: proviceFlagName
+                    }],
+                },
+                searchList: [
+                    {
+                        type: 'input',
+                        tit: '供应商名称',
+                        value: '',
+                        width: '98%',
+                    },
+                ],
+                tooltit:'供应商管理',
+                fullscreen: false,
+                total: 0,
+                pageSize: 1,
+                tableData: [],
+                dialogStatus: false,
+                disableStatus: false,
+                titname: '',
+                infolist: {},
+                userInfo: {},
+                params: {},
+                centerDialogVisible: false,
+                messTit: '',
+                delid: '',
+                loading:false,
+                loadinged:false,
+				proviceopt:[
+					{
+						id:'0',
+						name:'省公司'
+					},
+					{
+						id:'1',
+						name:'地市公司'
+					},
+				],
+            }
+        },
+        methods: {
+            closedia() {
+                this.infolist = {};
+                this.dialogStatus = false;
+            },
+            //搜索数据
+            searchInfo(v) {
+                this.params = {};
+                v[0] ? this.params.metirialName = v[0] : '';
+                this.getList(this.params, this.pageSize);
+            },
+            //获取列表
+            getList(v, n) {
+                this.pageSize = n;
+                let _this = this;
+                this.loading = true;
+                this.tableData = [];
+                this.$http({
+                    url: "/market/cadvSupplier/queryPage",
+                    method: "post",
+                    headers: {
+                        "Content-Type": "application/json",
+                        "page": '{"pageNo":"' + n + '","pageSize":"10"}'
+                    },
+                    data: v,
+                }).then((res) => {
+                    this.tableData = res.data.data;
+                    this.total = res.data.totalRecord;
+                    this.loading = false;
+                });
+            },
+            // 分页
+            currchange(v) {
+                this.pageSize = v;
+                this.getList(this.params, this.pageSize);
+            },
+            //申请
+            dialogCheck(v, n) {
+                this.dialogStatus = true;
+                this.infolist = Object.assign({}, n);
+                if (v === 1) {
+                    this.titname = '查看';
+                    this.disableStatus = true;
+                    return
+                } else if (v === 2) {
+                    this.titname = '修改';
+                    this.disableStatus = false;
+                } else if (v === 3) {
+                    this.titname = '添加';
+                    this.disableStatus = false;
+                }
+                this.infolist.opNo = this.userInfo.loginNo;
+                this.infolist.opName = this.userInfo.loginName;
+            },
+            //添加
+            dialogCli(v) {
+                if (v === 1) {
+                    this.infolist = {};
+                    this.dialogStatus = false;
+                    return
+                } else {
+                    this.infolist.opTime = this.$formatDate(new Date(), "YYYY-MM-DD HH:mm:ss");
+                    if (this.titname === '添加') {
+                        this.submitInfo("/market/cadvSupplier/add");
+                    } else if (this.titname === '修改') {
+                        this.submitInfo("/market/cadvSupplier/update", v);
+                    }
+
+                }
+            },
+            submitInfo(u) {
+                let _this = this;
+                this.$refs.infolist.validate(valid => {
+                    if (valid) {
+                        this.loadinged = true;
+                        this.$http({
+                            url: u,
+                            method: "post",
+                            headers: {
+                                "Content-Type": "application/json",
+                            },
+                            data: this.infolist,
+                        }).then((res) => {
+                            this.loadinged = false;
+                            if (res.data.result === 1) {
+                                _this.$message({
+                                    message: res.data.desc,
+                                    type: 'error'
+                                });
+                            } else {
+                                _this.$message({
+                                    message: '成功',
+                                    type: 'success'
+                                });
+                                _this.infolist = {};
+                                _this.dialogStatus = false;
+                                _this.getList({}, _this.pageSize);
+                            }
+
+                        });
+                    }
+                })
+            },
+            closeMessage(v) {
+                this.centerDialogVisible = false;
+                let _this = this;
+                if (v === 1) {
+                    _this.$http({
+                        url: "/market/cadvSupplier/del",
+                        method: "post",
+                        headers: {
+                            "Content-Type": "application/json",
+                        },
+                        data: {
+                            code: this.delid
+                        },
+                    }).then((res) => {
+                        if (res.data.result === 1) {
+                            _this.$message({
+                                message: res.data.desc,
+                                type: 'error'
+                            });
+                        } else {
+                            _this.$message({
+                                message: '删除成功',
+                                type: 'success'
+                            });
+                            _this.getList(this.params, this.pageSize);
+                        }
+                    });
+                }
+            },
+            //删除
+            delLine(v) {
+                this.centerDialogVisible = true;
+                this.messTit = '即将删除此条数据, 是否删除?';
+                this.delid = v.code;
+            },
+            //文件返回值
+            uploadBack(v) {
+                console.log(v)
+            },
+            //功能栏
+            iconCli(v) {
+                if (v === 1) {
+                    this.getList(this.params, this.pageSize);
+                }
+                if (v === 2) {
+                    this.fullscreen = !this.fullscreen
+                }
+            },
+            getUser() {
+                this.userInfo = JSON.parse(window.sessionStorage.userInfo);
+
+            }
+        },
+        mounted() {
+            this.getList({}, 1);
+            this.getUser();
+        },
+        created() {
+
+        }
+    }
+</script>
+<style scoped lang="scss">
+    .onetab {
+        margin-bottom: 20px;
+        padding: 0 20px;
+    }
+
+    .titbox {
+        div {
+            float: right;
+
+            i {
+                font-size: 22px;
+                margin-left: 20px;
+                cursor: pointer;
+            }
+        }
+    }
+
+    .tabbox {
+        margin-top: 15px;
+    }
+
+    .pageBox {
+        text-align: right;
+        margin-top: 10px;
+    }
+
+    .info-line {
+        width: 100%;
+        display: block;
+        padding-left: 20px;
+
+        div {
+            width: 50%;
+            display: inline-block;
+        }
+
+        span {
+            width: 80px;
+            display: inline-block;
+            text-align: left;
+
+            i {
+                color: red;
+                display: inline-block;
+                padding-right: 5px;
+            }
+        }
+
+        .el-select,
+        .el-input {
+            width: calc(100% - 100px);
+        }
+    }
+
+    .online {
+        width: 100%;
+
+        .el-select {
+            width: calc(100% - 100px);
+        }
+
+        span {
+            vertical-align: top;
+        }
+
+        .el-textarea {
+            width: calc(100% - 100px);
+        }
+    }
+</style>

+ 4 - 4
src/pages/main/bigScreen/bigScreenenw.vue

@@ -916,10 +916,10 @@
         margin-top: 60px;
     }
 
-    ::-webkit-scrollbar {
-        width: 0 !important;
-        height: 0;
-    }
+    // ::-webkit-scrollbar {
+    //     width: 0 !important;
+    //     height: 0;
+    // }
 
     .container-s {
         padding: 0;

File diff suppressed because it is too large
+ 269 - 674
src/pages/main/leader/index.vue


+ 223 - 260
src/pages/main/leader/processInitiation.vue

@@ -1,268 +1,231 @@
 <template>
-  <div class="pmain">
-    <div class="layui-col-md6" v-for="(ite, index) in funcData" :key="index">
-      <div class="bg-style">
-        <div class="mc-nomal-title mc-padding-no">{{ ite.lineName }}</div>
-        <!-- <div class="mc-nomal-checked mc-padding-no">26个文档正在编辑</div> -->
-        <div class="mc-title-box">
-          <div class="mc-nomal-show-num">
-            <div class="num-box">
-              <div class="mc-nomal-num mc-red" name="y_notFinished">
-                {{ ite.noDealNum }}
-              </div>
-              <div class="mc-nomal-checked mc-padding-no">未完成</div>
-            </div>
-            <div class="num-box">
-              <div class="mc-nomal-num" name="y_finished">
-                {{ ite.yesDealNum }}
-              </div>
-              <div class="mc-nomal-checked mc-padding-no">已完成</div>
-            </div>
-          </div>
-          <div class="mc-right-title">
-            <div class="mc-nomal-num" name="y_noCompletion">{{ ite.num }}</div>
-            <div class="mc-nomal-checked">完成率</div>
-          </div>
-        </div>
-        <div class="mc-function-box">
-          <div
-            v-for="item in ite.unitList"
-            :key="item.unitName"
-            class="function-box"
-          >
-            <div class="f-box-tit">{{ item.unitName }}</div>
-            <div
-              v-for="items in item.modList"
-              :key="items.moduleName"
-              class="f-box-info"
-            >
-              <el-badge
-                :value="items.noTaskNum"
-                :max="99"
-                :hidden="items.noTaskNum == 0"
-              >
-                <i
-                  @click="jumpTo(items)"
-                  :class="'iconfont icon-tongji'"
-                  v-if="items.sts == '0'"
-                  style="background: #0b82ff"
-                ></i>
-                <i
-                  :class="'iconfont icon-tongji'"
-                  v-if="items.sts != '0'"
-                  style="background: #ddd"
-                ></i>
-                <span>{{ items.moduleName }}</span>
-              </el-badge>
-            </div>
-          </div>
-        </div>
-      </div>
-    </div>
-  </div>
+	<div class="pmain">
+		<div class="layui-col-md6" v-for="(ite, index) in funcData" :key="index">
+			<div class="bg-style">
+				<div class="mc-nomal-title mc-padding-no">{{ ite.lineName }}</div>
+				<div class="mc-function-box">
+					<div v-for="item in ite.unitList" :key="item.unitName" class="function-box">
+						<div class="f-box-tit">{{ item.unitName }}</div>
+						<div v-for="items in item.modList" :key="items.moduleName" class="f-box-info">
+							<el-badge :value="items.noTaskNum" :max="99" :hidden="items.noTaskNum == 0">
+								<i @click="jumpTo(items)" :class="'iconfont icon-tongji'" v-if="items.sts == '0'"
+									style="background: #0b82ff"></i>
+								<i :class="'iconfont icon-tongji'" v-if="items.sts != '0'" style="background: #ddd"></i>
+								<el-tooltip class="item" effect="dark" :content="items.moduleName" placement="bottom">
+									<span>{{ items.moduleName }}</span>
+								</el-tooltip>
+							</el-badge>
+						</div>
+						<div class="f-box-info" v-if="item.modList.length == 0"></div>
+					</div>
+				</div>
+			</div>
+		</div>
+	</div>
 </template>
 
 <script>
-export default {
-  data() {
-    return {
-      funcData: [],
-      boxHeight: {
-        height: "auto",
-      },
-    };
-  },
-  methods: {
-    getList() {
-      let loginNo = JSON.parse(window.sessionStorage.userInfo).loginNo;
-      this.$http({
-        url: "/market/cmkline/queryInfo",
-        method: "post",
-        headers: {
-          "Content-Type": "application/json",
-        },
-        data: {},
-      }).then((res) => {
-        this.funcData = res.data.lineList;
-        this.funcData.forEach((item) => {
-          if (item.yesDealNum) {
-            let x =
-              (1 -
-                item.noDealNum / (item.yesDealNum * 1 + item.noDealNum * 1)) *
-              100;
-            item.num = parseInt(x) + "%";
-          } else {
-            item.num = "0%";
-          }
-        });
-      });
-    },
-    hAuto() {
-      let boxLinel = this.$refs.boxLinel.offsetHeight;
-      let boxLiner = this.$refs.boxLiner.offsetHeight;
-      if (boxLinel > boxLiner) {
-        this.boxHeight.height = boxLinel + "px";
-      } else {
-        this.boxHeight.height = boxLiner + "px";
-      }
-    },
-    jumpTo(v) {
-      if (v.moduleUrl) {
-        this.$router.push({
-          path: v.moduleUrl,
-        });
-      }
-    },
-  },
-  mounted() {},
-  created() {
-    this.getList();
-  },
-};
+	export default {
+		data() {
+			return {
+				funcData: [],
+				boxHeight: {
+					height: "auto",
+				},
+			};
+		},
+		methods: {
+			getList() {
+				let loginNo = JSON.parse(window.sessionStorage.userInfo).loginNo;
+				this.$http({
+					url: "/market/cmkline/queryInfo",
+					method: "post",
+					headers: {
+						"Content-Type": "application/json",
+					},
+					data: {},
+				}).then((res) => {
+					this.funcData = res.data.lineList;
+				});
+			},
+			hAuto() {
+				let boxLinel = this.$refs.boxLinel.offsetHeight;
+				let boxLiner = this.$refs.boxLiner.offsetHeight;
+				if (boxLinel > boxLiner) {
+					this.boxHeight.height = boxLinel + "px";
+				} else {
+					this.boxHeight.height = boxLiner + "px";
+				}
+			},
+			jumpTo(v) {
+				if (v.moduleUrl) {
+					this.$router.push({
+						path: v.moduleUrl,
+					});
+				}
+			},
+		},
+		mounted() {},
+		created() {
+			this.getList();
+		},
+	};
 </script>
 
 <style scoped lang="scss">
-.mc-red {
-  color: #ff6060;
-}
-
-.mc-padding-no {
-  padding-left: 20px;
-}
-
-.pmain {
-  display: flex;
-  flex-wrap: wrap;
-
-  .layui-col-md6 {
-    display: inline-block;
-    margin-top: 15px;
-    width: calc(50% - 7px);
-    background: #fff;
-  }
-
-  .layui-col-md6:nth-child(2n) {
-    margin-left: 14px;
-  }
-
-  .box-scoll {
-    height: 350px;
-    width: 100%;
-    overflow-y: scroll;
-    padding-right: 25px;
-  }
-}
-
-.mc-nomal-title {
-  font-size: 20px;
-  font-weight: 500;
-  color: #333;
-  padding-bottom: 10px;
-}
-
-.mc-nomal-checked {
-  color: #999;
-  font-size: 12px;
-}
-
-.mc-title-box {
-  display: flex;
-  justify-content: space-between;
-}
-
-.mc-nomal-show-num {
-  display: flex;
-  justify-content: space-between;
-  text-align: center;
-  margin-top: 10px;
-
-  .num-box {
-    margin-right: 40px;
-  }
-}
-
-.mc-right-title {
-  margin-top: 10px;
-  text-align: right;
-  // width: 55%;
-  padding-right: 20px;
-}
-
-.mc-nomal-num {
-  font-size: 20px;
-}
-
-.bg-style {
-  /*background-color: white;*/
-  padding: 25px 10px;
-
-  .custom-tree-node {
-    width: 100%;
-  }
-
-  .tree-box {
-    overflow: hidden;
-    height: 26px;
-    width: 100%;
-
-    img {
-      width: 26px;
-      height: 26px;
-      float: left;
-    }
-
-    div {
-      display: inline-block;
-      height: 26px;
-      line-height: 26px;
-
-      span {
-        padding-left: 10px;
-      }
-    }
-  }
-}
-
-.mc-function-box {
-  margin-top: 10px;
-
-  .function-box {
-    .f-box-tit {
-      font-size: 16px;
-      margin: 15px 0 10px 20px;
-    }
-
-    .f-box-info {
-      display: inline-block;
-      height: 80px;
-      margin: 0 10px;
-
-      i {
-        width: 50px;
-        height: 50px;
-        border-radius: 18px;
-        display: block;
-        color: #fff;
-        text-align: center;
-        line-height: 50px;
-        cursor: pointer;
-        margin: 0 20px;
-      }
-
-      span {
-        font-size: 13px;
-        display: block;
-        text-align: center;
-        width: 100%;
-        height: 20px;
-        overflow: hidden;
-      }
-
-      .mybadge {
-        top: 0;
-        right: 40px;
-      }
-    }
-  }
-}
+	.mc-red {
+		color: #ff6060;
+	}
+
+	.mc-padding-no {
+		padding-left: 20px;
+	}
+
+	.pmain {
+		display: flex;
+		flex-wrap: wrap;
+		justify-content: space-between;
+
+		.layui-col-md6 {
+			display: inline-block;
+			margin-top: 15px;
+			width: 32.5%;
+			background: #fff;
+		}
+
+		// .layui-col-md6:nth-child(2n) {
+
+		// }
+
+		.box-scoll {
+			height: 350px;
+			width: 100%;
+			overflow-y: scroll;
+			padding-right: 25px;
+		}
+	}
+
+	.mc-nomal-title {
+		font-size: 20px;
+		font-weight: 500;
+		color: #333;
+		padding-bottom: 10px;
+	}
+
+	.mc-nomal-checked {
+		color: #999;
+		font-size: 12px;
+	}
+
+	.mc-title-box {
+		display: flex;
+		justify-content: space-between;
+	}
+
+	.mc-nomal-show-num {
+		display: flex;
+		justify-content: space-between;
+		text-align: center;
+		margin-top: 10px;
+
+		.num-box {
+			margin-right: 40px;
+		}
+	}
+
+	.mc-right-title {
+		margin-top: 10px;
+		text-align: right;
+		// width: 55%;
+		padding-right: 20px;
+	}
+
+	.mc-nomal-num {
+		font-size: 20px;
+	}
+
+	.bg-style {
+		/*background-color: white;*/
+		padding: 25px 10px;
+
+		.custom-tree-node {
+			width: 100%;
+		}
+
+		.tree-box {
+			overflow: hidden;
+			height: 26px;
+			width: 100%;
+
+			img {
+				width: 26px;
+				height: 26px;
+				float: left;
+			}
+
+			div {
+				display: inline-block;
+				height: 26px;
+				line-height: 26px;
+
+				span {
+					padding-left: 10px;
+				}
+			}
+		}
+	}
+
+	.mc-function-box {
+		margin-top: 10px;
+
+		.function-box {
+			.f-box-tit {
+				font-size: 16px;
+				margin: 10px 0 15px 20px;
+				// font-weight: bold;
+				color: #4949a2;
+			}
+
+			.f-box-info {
+				display: inline-block;
+				height: 70px;
+				width: 33%;
+				text-align: center;
+
+				i {
+					width: 40px;
+					height: 40px;
+					border-radius: 18px;
+					display: block;
+					color: #fff;
+					text-align: center;
+					line-height: 40px;
+					cursor: pointer;
+					margin: 0 20px;
+				}
+
+				span {
+					font-size: 12px;
+					display: block;
+					text-align: center;
+					width: 80px;
+					height: 18px;
+					margin-top: 5px;
+					overflow: hidden;
+					text-overflow: ellipsis;
+					display: -webkit-box;
+					/* 将对象作为弹性伸缩盒子模型显示 */
+					-webkit-line-clamp: 1;
+					/* 控制最多显示几行 */
+					-webkit-box-orient: vertical;
+					/* 设置或检索伸缩盒对象的子元素的排列方式 */
+				}
+
+				.mybadge {
+					top: 0;
+					right: 40px;
+				}
+			}
+		}
+	}
 </style>

+ 2 - 2
src/pages/main/messReport/noticeIssued.vue

@@ -408,8 +408,8 @@
                         } else if (this.activeName == '2') {
                             this.infolist.sts = "0";
                             this.infolist.stsDesc = "待审核";
-                            this.infolist.auditName = this.userInfo.loginName;
-                            this.infolist.auditNo = this.userInfo.loginNo;
+                            this.infolist.auditName = this.treeListonly.leaderAuditName;
+                            this.infolist.auditNo = this.treeListonly.leaderAuditNo;
                             if (!this.treeListonly.leaderAuditName) {
                                 this.$message({
                                     message: '请选择接单人!',

+ 1 - 1
src/pages/main/terminal/advcheck.vue

@@ -212,7 +212,7 @@
             },
             gettype() {
                 this.$http({
-                    url: "/market/cfgDataDicts/queryMap",
+                    url: "/sysmgr/cfgDataDicts/queryMap",
                     method: "post",
                     headers: {
                         "Content-Type": "application/json",

+ 1 - 1
src/pages/main/terminal/advertincrease.vue

@@ -371,7 +371,7 @@
             },
             getlist() {
                 this.$http({
-                    url: "/market/cfgDataDicts/queryMap",
+                    url: "/sysmgr/cfgDataDicts/queryMap",
                     method: "post",
                     headers: {
                         "Content-Type": "application/json",

+ 1 - 1
src/pages/main/terminal/advertisement.vue

@@ -99,7 +99,7 @@
             },
             gettype() {
                 this.$http({
-                    url: "/market/cfgDataDicts/queryMap",
+                    url: "/sysmgr/cfgDataDicts/queryMap",
                     method: "post",
                     headers: {
                         "Content-Type": "application/json",

+ 1 - 1
src/pages/main/terminal/advertmaterial.vue

@@ -181,7 +181,7 @@
             },
             gettype() {
                 this.$http({
-                    url: "/market/cfgDataDicts/queryMap",
+                    url: "/sysmgr/cfgDataDicts/queryMap",
                     method: "post",
                     headers: {
                         "Content-Type": "application/json",

+ 1 - 1
src/pages/main/terminal/components/advert.vue

@@ -454,7 +454,7 @@
             },
             getinfolist() {
                 this.$http({
-                    url: "/market/cfgDataDicts/queryMap",
+                    url: "/sysmgr/cfgDataDicts/queryMap",
                     method: "post",
                     headers: {
                         "Content-Type": "application/json",

+ 3 - 3
src/pages/main/warnManage/warnRule.vue

@@ -96,7 +96,7 @@
                         <el-form-item>
                             <span>有效期</span>
                             <el-date-picker v-model="infolist.validTime" type="date" placeholder="有效期"
-                                :disabled="disableStatus">
+                                :disabled="disableStatus" value-format="yyyy-MM-dd hh:mm:ss">
                             </el-date-picker>
                         </el-form-item>
                     </div>
@@ -378,7 +378,7 @@
                     this.dialogStatus = false;
                     return
                 }
-                this.infolist.validTime = this.$formatDate(new Date(), "YYYY-MM-DD HH:mm:ss");
+                // this.infolist.validTime = this.$formatDate(new Date(), "YYYY-MM-DD HH:mm:ss");
                 this.infolist.opTime = this.$formatDate(new Date(), "YYYY-MM-DD HH:mm:ss");
                 this.infolist.opName = this.userInfo.loginName;
                 this.infolist.opNo = this.userInfo.loginNo;
@@ -513,7 +513,7 @@
             },
             getlj() {
                 this.$http({
-                    url: "/market/cfgDataDicts/queryMap",
+                    url: "/sysmgr/cfgDataDicts/queryMap",
                     method: "post",
                     headers: {
                         "Content-Type": "application/json",

+ 72 - 0
src/router/index.js

@@ -10,6 +10,78 @@ const routes = [{
     redirect: '/leader',
     children: [
         {
+            meta: { name:  '广告宣传管理', keepAlive: false },
+            path: '/advertising',
+            name: 'advertising',
+            component: (resolve) => require( /* webpackChunkName: "system" */['../pages/main/advertising/index.vue'], resolve)
+        },
+		{
+            meta: { name:  '物料类型管理', keepAlive: false },
+            path: '/materiel',
+            name: 'materiel',
+            component: (resolve) => require( /* webpackChunkName: "system" */['../pages/main/advertising/materiel.vue'], resolve)
+        },
+		{
+            meta: { name:  '宣传费台账', keepAlive: false },
+            path: '/publicityAccount',
+            name: 'publicityAccount',
+            component: (resolve) => require( /* webpackChunkName: "system" */['../pages/main/advertising/publicityAccount.vue'], resolve)
+        },
+		{
+            meta: { name:  '营业厅物料管理', keepAlive: false },
+            path: '/businessHall',
+            name: 'businessHall',
+            component: (resolve) => require( /* webpackChunkName: "system" */['../pages/main/advertising/businessHall.vue'], resolve)
+        },
+		{
+            meta: { name:  '合同及上限', keepAlive: false },
+            path: '/contractCap',
+            name: 'contractCap',
+            component: (resolve) => require( /* webpackChunkName: "system" */['../pages/main/advertising/contractCap.vue'], resolve)
+        },
+		{
+            meta: { name:  '宣传物料申请', keepAlive: false },
+            path: '/materialApplicationadd',
+            name: 'materialApplicationadd',
+            component: (resolve) => require( /* webpackChunkName: "system" */['../pages/main/advertising/materialApplicationadd.vue'], resolve)
+        },
+		{
+            meta: { name:  '宣传物料管理', keepAlive: false },
+            path: '/materialApplication',
+            name: 'materialApplication',
+            component: (resolve) => require( /* webpackChunkName: "system" */['../pages/main/advertising/materialApplication.vue'], resolve)
+        },
+		{
+            meta: { name:  '宣传物料管理', keepAlive: false },//地市
+            path: '/materialApplicationc',
+            name: 'materialApplicationc',
+            component: (resolve) => require( /* webpackChunkName: "system" */['../pages/main/advertising/materialApplicationc.vue'], resolve)
+        },
+		{
+            meta: { name:  '宣传物料审批', keepAlive: false },
+            path: '/materialApplicationExa',
+            name: 'materialApplicationExa',
+            component: (resolve) => require( /* webpackChunkName: "system" */['../pages/main/advertising/materialApplicationExa.vue'], resolve)
+        },
+		{
+            meta: { name:  '宣传物料审批', keepAlive: false },
+            path: '/materialApplicationExac',
+            name: 'materialApplicationExac',
+            component: (resolve) => require( /* webpackChunkName: "system" */['../pages/main/advertising/materialApplicationExac.vue'], resolve)
+        },
+		{
+            meta: { name:  '供应商管理', keepAlive: false },
+            path: '/supplier',
+            name: 'supplier',
+            component: (resolve) => require( /* webpackChunkName: "system" */['../pages/main/advertising/supplier.vue'], resolve)
+        },
+		{
+            meta: { name:  '物料统计', keepAlive: false },
+            path: '/materialApplistatic',
+            name: 'materialApplistatic',
+            component: (resolve) => require( /* webpackChunkName: "system" */['../pages/main/advertising/materialApplistatic.vue'], resolve)
+        },
+		{
             meta: { name:  '科室经理管理', keepAlive: false },
             path: '/department',
             name: 'department',

+ 3 - 3
vue.config.js

@@ -93,9 +93,9 @@ module.exports = {
                 // target: 'http://192.168.2.145:9600/spfm',
                 // target: 'http://192.168.2.149:9600',
                 // target: 'http://10.64.42.70:8088/',
-                target: 'http://114.215.71.182:29600/',
-                // target: 'http://192.168.2.135:9600/',
-                // target: 'http://192.168.2.169:9600/',
+                // target: 'http://114.215.71.182:29600',
+                // target: 'http://10.230.26.15:8000/spfm',
+                target: 'http://192.168.2.143:9600/',
                 // target: 'http://192.168.2.170:9600/',
                 // target: 'http://192.168.2.169:9600/',
                 changeOrigin: true