|
@@ -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>
|