jt
2023-08-25 273e2da8372cfd54f91a1117ccaaf6d3c9085e90
store/index.js
@@ -1,33 +1,60 @@
import Vue from 'vue'
import Vuex from 'vuex'
import Base64 from '../components/js-base64/base64.js'
Vue.use(Vuex)
import app from './modules/app'
const store = new Vuex.Store({
   modules:{
      app,
      Base64,
   },
   state: {
      hasLogin: false,
      apkVersionInfo: "",
      loginProvider: "",
      areaFunc:'',
      thisareaFuncID:'',
      thisareaFuncSubID:'',
      thisEditName:'',
      thisEditSubName:'',
      thisDictName:'',
      _classAttrList:{},
      _classGridStyleInfo:{},
      _subClassAttrList:{},
      _subClassGridStyleInfo:{},
      _dicValueInfo:{},
      DataObjRunCustomEventInfo:'',
      querySelpsn:'',
      ProjectGetAnalysisList:'',
      addclassattr:'',
      DelObj:'',
      username:"sa",
      userpwd:"0000",
      url:"39.100.224.211" //192.168.1.184:5200 36.33.24.94:5200
      url:"115.29.185.26:5000", //192.168.1.184:5200 36.33.24.94:5200
      OIOrgSAPI: '', //115.29.185.26:5101
      OIMoboxSAPI: '', //115.29.185.26:5102
      OIDataSAPI: '', //115.29.185.26:5103
      OIMongodbSvr: '' //115.29.185.26:5201
   },
   mutations: {
      setUrl(state, url) {
         state.url = url;
      },
      setOrgSApi(state, url) {
         state.OIOrgSAPI = url;
      },
      setMobxoSApi(state, url) {
         state.OIMoboxSAPI = url;
      },
      setDataSApi(state, url) {
         state.OIDataSAPI = url;
      },
      setMongodbSvr(state, url) {
         state.OIMongodbSvr = url;
      },
      setApkVersionInfo(state, ret) {
         state.apkVersionInfo = ret;
      },
      login(state, provider) {
         state.hasLogin = true;
@@ -39,8 +66,14 @@
      setareaFuncid(state,id){
         state.thisareaFuncID=id;
      },
      setareaFunSubcid(state,id){
         state.thisareaFuncSubID=id;
      },
      seteditName(state,editName){
         state.thisEditName=editName;
      },
      seteditSubName(state,editName){
         state.thisEditSubName=editName;
      },
      setDictName(state,dictName){
         state.thisDictName=dictName;
@@ -56,6 +89,16 @@
            data = state._classGridStyleInfo[state.thisareaFuncID];
         Vue.set(data,state.thisEditName,ret);
         Vue.set(state._classGridStyleInfo,state.thisareaFuncID,data);
      },
      subClassAttrList(state, ret) {
         Vue.set(state._subClassAttrList,state.thisareaFuncSubID,ret);
      },
      subClassGridStyleInfo(state, ret) {
         var data = {};
         if(state._subClassGridStyleInfo[state.thisareaFuncSubID])
            data = state._subClassGridStyleInfo[state.thisareaFuncSubID];
         Vue.set(data,state.thisEditSubName,ret);
         Vue.set(state._subClassGridStyleInfo,state.thisareaFuncSubID,data);
      },
      dicValueInfo(state, ret) {
         // state._dicValueInfo[state.thisareaFuncID] = ret;
@@ -73,16 +116,34 @@
      addclassattr(state, ret) {
         state.addclassattr = ret;
      },
      DelObj(state, ret) {
         state.DelObj = ret;
      },
      logout(state) {
         state.hasLogin = false
      },
   },
   getters: {
      GetApkServionInfo(state) {
         return state.apkVersionInfo
      },
      loginid(state) {
         return state.loginProvider.loginid
      },
      getUrl(state) {
         return state.url
      },
      getOrgSApi(state, url) {
         return state.OIOrgSAPI;
      },
      getMobxoSApi(state, url) {
         return state.OIMoboxSAPI;
      },
      getDataSApi(state, url) {
         return state.OIDataSAPI;
      },
      getMongodbSvr(state, url) {
         return state.OIMongodbSvr;
      },
      getclassAttrList(state){
         return state._classAttrList[state.thisareaFuncID];
@@ -90,6 +151,15 @@
      getclassGridStyleInfo(state){
         if(state._classGridStyleInfo[state.thisareaFuncID])
            return state._classGridStyleInfo[state.thisareaFuncID][state.thisEditName];
         else
            return "";
      },
      getSubClassAttrList(state){
         return state._subClassAttrList[state.thisareaFuncSubID];
      },
      getSubClassGridStyleInfo(state){
         if(state._subClassGridStyleInfo[state.thisareaFuncSubID])
            return state._subClassGridStyleInfo[state.thisareaFuncSubID][state.thisEditSubName];
         else 
            return "";
      },
@@ -102,6 +172,56 @@
   actions: {
      //{commit} 解构,
      //univerifyInfo 自定义参数
      GetApkVersionInfo: function({
         commit,
         state
      }, univerifyInfo) {
         return new Promise((resolve, reject) => {
            univerifyInfo = univerifyInfo || {};
            univerifyInfo.server = univerifyInfo.server || '';
            if (univerifyInfo.server.length == 0) {
               reject({"errMsg":'服务器地址不能为空!'});
            }
            var openinfo = "http://" + univerifyInfo.server + "/"; //+"/OrgWebS"
            //设置全局参数:url-服务器地址
            commit("setUrl",openinfo);
            var ser = univerifyInfo.server.split('/');
            if(ser[1] == 'mobox3'){
               // reject({"errMsg":"Mobox3暂时未支持自动更新!"});
               resolve({code:'00000',data:"",msg:""});
               return;
            }
            uni.request({
               url: openinfo + "PDA/GetApkVersionInfo",
               data: {},
               method: 'POST',
               dataType:"json",
               header: {
                   'content-type': 'application/x-www-form-urlencoded'
               },
               success: (res) => {
                  console.log(res);
                  if(res.statusCode==404){
                     reject({"errMsg":"地址不对,请检查该地址:"+ openinfo +",方法:GetApkVersionInfo,是否正确"});
                  } else if(res.statusCode==500){
                     reject({"errMsg":"未找到更新包所在目录!"});
                  }
                  const ret = res.data
                  if (ret.code=='00000') {
                     commit("setApkVersionInfo",ret);
                     resolve(ret);
                  } else {
                     reject({"errMsg":ret.msg});
                  }
               },
               fail: (err) => {
                  console.log(err);
                  reject(err);
               }
            })
         })
      },
      login: function({
         commit,
         state
@@ -111,7 +231,6 @@
            univerifyInfo.server = univerifyInfo.server || '';
            univerifyInfo.uname = univerifyInfo.uname || '';
            univerifyInfo.pwd = univerifyInfo.pwd || '';
            // console.log(univerifyInfo);
            if (univerifyInfo.server.length == 0) {
               reject({"errMsg":'服务器地址不能为空!'});
            }
@@ -121,33 +240,48 @@
            if (univerifyInfo.pwd.length < 1) {
               reject({"errMsg":'密码最短为 1个字符!'});
            }
            var openinfo = "http://" + univerifyInfo.server + "/"; //+"/OrgWebS"
            var openinfo = "http://" + univerifyInfo.server + "/";
            //设置全局参数:url-服务器地址
            commit("setUrl",openinfo);
            var ser = univerifyInfo.server.split('/');
            var url = openinfo + "PDA/SignIn";
            var header = {'content-type': 'application/x-www-form-urlencoded'};
            commit("setOrgSApi",'');
            commit("setMobxoSApi",'');
            commit("setDataSApi",'');
            commit("setMongodbSvr",'');
            if(ser[1] == 'mobox3'){ //判断地址是否是Mobox3
               var orgSApi = "http://" + ser[0].split(':')[0] + ":5101/";
               var mobxoSApi = "http://" + ser[0].split(':')[0] + ":5102/";
               var dataSApi = "http://" + ser[0].split(':')[0] + ":5103/";
               var mongodbSvr = "http://" + ser[0].split(':')[0] + ":5201/";
               commit("setOrgSApi",orgSApi);
               commit("setMobxoSApi",mobxoSApi);
               commit("setDataSApi",dataSApi);
               commit("setMongodbSvr",mongodbSvr);
               url = orgSApi+'api/user/ace/VerifyPassword';
               univerifyInfo = {
                  app_type: "mobox",
                  user_login: Base64.encode(univerifyInfo.uname),
                  user_psw: Base64.encode(univerifyInfo.pwd),
               };
               header={};
            }
            
            // if (univerifyInfo.server.split(':').length < 2)
            //    cgi = "http://" + univerifyInfo.server + ":5010"; ///OrgWebS
            // setTimeout(_=>{
            //    resolve("00000000000")
            // },3000)
            // console.log(openinfo + "PDA/SignIn");
            uni.request({
               url: openinfo + "PDA/SignIn",
               url: url,
               data: univerifyInfo,
               method: 'POST',
               dataType:"json",
               header: {
                   'content-type': 'application/x-www-form-urlencoded'
               },
               header: header,
               success: (res) => {
                  // console.log(res); 
                  const ret = res.data
                  if (ret.code=='00000') {
                  if (ret.code=='00000' || ret.err_code == 0) {
                     commit("login",ret);
                     resolve(ret);
                  } else {
                     reject({"errMsg":ret.msg});
                     reject({"errMsg":ret.msg?ret.msg:ret.err_msg});
                  }
               },
               fail: (err) => {
@@ -163,24 +297,63 @@
         state
      }, univerifyInfo) {
         return new Promise((resolve, reject) => {
             // console.log(state.url);
             // console.log(state.loginProvider.loginid.result.session_id);
            var url = state.url + "PDA/PDAArea";
            var header = {'content-type': 'application/x-www-form-urlencoded'};
            if(state.OIMoboxSAPI){ //判断是否是Mobox3
               url = state.OIMoboxSAPI+'api/app/area/GetList?sessionid='+state.loginProvider.loginid.result.session_id;
               univerifyInfo = {
                  app_type: "MES",
               };
               header={};
            }
             
            uni.request({
               url: state.url + "PDA/PDAArea",
               url: url,
               data: univerifyInfo,
               method: 'POST',
               dataType:"json",
               header: {
                  'content-type': 'application/x-www-form-urlencoded'
               },
               header: header,
               success: (res) => {
                  // console.log(res);
                  console.log(res);
                  if(res.statusCode==404){
                     reject({"errMsg":"地址不对,请检查该地址:"+ openinfo});
                  }
                  const ret = res.data
                  if (ret.code=='00000') {
                  if (ret.code=='00000' || ret.err_code == 0) {
                     commit("areaFunc",ret);
                     resolve(ret);
                  } else {
                     reject({"errMsg":ret.msg});
                     reject({"errMsg":ret.msg?ret.msg:ret.err_msg});
                  }
               },
               fail: (err) => {
                  // console.log(err);
                  reject(err);
               }
            })
         })
      },
      // Mobox3获取应用领域下的功能点
      GetFuncTree: function({
         commit,
         state
      }, univerifyInfo) {
         return new Promise((resolve, reject) => {
             // console.log(state.loginProvider.loginid.result.session_id);
            uni.request({
               url: state.OIMoboxSAPI+'api/app/GetFuncTree?sessionid='+state.loginProvider.loginid.result.session_id,
               data: univerifyInfo,
               method: 'POST',
               dataType:"json",
               success: (_res) => {
                  // console.log(_res);
                  const ret = _res.data
                  if (ret.err_code == 0) {
                     // commit("areaFunc",ret);
                     resolve(ret);
                  } else {
                     reject({"errMsg":ret.err_msg});
                  }
               },
               fail: (err) => {
@@ -259,6 +432,74 @@
         })
      },
      
      subClassAttrList: function({
         commit,
         state
      }, univerifyInfo) {
         return new Promise((resolve, reject) => {
             // console.log(state.url);
            uni.request({
               url: state.url + "PDA/PDAAttrList",
               data: univerifyInfo,
               method: 'POST',
               dataType:"json",
               header: {
                  'content-type': 'application/x-www-form-urlencoded'
               },
               success: (res) => {
                  console.log(res);
                  const ret = res.data
                  if (ret.code=='00000') {
                     commit("subClassAttrList",ret);
                     resolve(ret);
                  } else {
                     reject({"errMsg":ret.msg});
                  }
               },
               fail: (err) => {
                  // console.log(err);
                  reject(err);
               }
            })
         })
      },
      subClassGridStyleInfo: function({
         commit,
         state
      }, univerifyInfo) {
         return new Promise((resolve, reject) => {
             // console.log(state.url);
            uni.request({
               url: state.url + "PDA/PDAGridStyleGetInfo",
               data: univerifyInfo,
               method: 'POST',
               dataType:"json",
               header: {
                  'content-type': 'application/x-www-form-urlencoded'
               },
               success: (res) => {
                  console.log(res);
                  const ret = res.data
                  if (ret.code=='00000') {
                     // var data ={};
                     // Vue.set(data,univerifyInfo.name,ret);
                     commit("subClassGridStyleInfo",ret);
                     resolve(ret);
                  } else {
                     reject({"errMsg":ret.err_msg});
                  }
               },
               fail: (err) => {
                  // console.log(err);
                  reject(err);
               }
            })
         })
      },
      dicValueInfo: function({
         commit,
         state
@@ -308,7 +549,7 @@
                  'content-type': 'application/x-www-form-urlencoded'
               },
               success: (res) => {
                  console.log(res);
                  // console.log(res);
                  const ret = res.data
                  if (ret.code=='00000') {
                     commit("DataObjRunCustomEventInfo",ret);
@@ -331,22 +572,34 @@
      }, univerifyInfo) {
         return new Promise((resolve, reject) => {
             // console.log(state.url);
            var url = state.url + "selpsn/queryjson";
            var datajson = univerifyInfo;
            var header = {'content-type': 'application/x-www-form-urlencoded'};
            if(state.OIOrgSAPI){ //判断是否是Mobox3
                url = state.OIOrgSAPI+'api/user/query/query?sessionid='+state.loginProvider.loginid.result.session_id;
               datajson = {
                   query_str: univerifyInfo.jp,
                };
                header={};
            }
            uni.request({
               url: state.url + "selpsn/queryjson",
               data: univerifyInfo,
               url: url,
               data: datajson,
               method: 'POST',
               dataType:"json",
               header: {
                  'content-type': 'application/x-www-form-urlencoded'
               },
               header: header,
               success: (res) => {
                  // console.log(res);
                  const ret = JSON.parse(res.data);
                  if (ret.code=='00000') {
                     commit("querySelpsn",ret);
                     resolve(ret);
                  try{
                     res = JSON.parse(res.data);
                  }catch(e){
                     res = res.data;
                  }
                  if (res.code=='00000' || res.err_code == 0) {
                     commit("querySelpsn",res);
                     resolve(res);
                  } else {
                     reject({"errMsg":ret.msg});
                     reject({"errMsg":res.msg?res.msg:res.err_msg});
                  }
               },
               fail: (err) => {
@@ -363,14 +616,25 @@
      }, univerifyInfo) {
         return new Promise((resolve, reject) => {
             // console.log(state.url);
             var url = state.url + "bpm/ProjectGetAnalysisList";
             var header = {'content-type': 'application/x-www-form-urlencoded'};
             if(state.OIMoboxSAPI){ //判断是否是Mobox3
                // url = state.OIMoboxSAPI+'api/app/area/GetList?sessionid='+state.loginProvider.loginid.result.session_id;
                // univerifyInfo = {
                //    app_type: "MES",
                // };
                // header={};
               reject({"errMsg":"Mobox3暂时未支持选择项目接口!"});
               // resolve({code:'00000',data:"",msg:""});
               return;
             }
            uni.request({
               url: state.url + "bpm/ProjectGetAnalysisList",
               url: url,
               data: univerifyInfo,
               method: 'POST',
               dataType:"json",
               header: {
                  'content-type': 'application/x-www-form-urlencoded'
               },
               header: header,
               success: (res) => {
                  console.log(res);
                  const ret = res.data;
@@ -419,7 +683,250 @@
               }
            })
         })
      }
      },
      DelObj: function({
         commit,
         state
      }, univerifyInfo) {
         return new Promise((resolve, reject) => {
             // console.log(state.url);
            uni.request({
               url: state.url + "PDA/DelObj",
               data: univerifyInfo,
               method: 'POST',
               dataType:"json",
               header: {
                  'content-type': 'application/x-www-form-urlencoded'
               },
               success: (res) => {
                  console.log(res);
                  const ret = res.data;
                  if (ret.code=='00000') {
                     commit("DelObj",ret);
                     resolve(ret);
                  } else {
                     reject({"errMsg":JSON.stringify(ret)});
                  }
               },
               fail: (err) => {
                  console.log(err);
                  reject(err);
               }
            })
         })
      },
      // api/class/attr/GetList?sessionid=SESSION_ID
      // Mobox3得到数据类属性
      classAttrGetList: function({
         commit,
         state
      }, univerifyInfo) {
         return new Promise((resolve, reject) => {
            // console.log(state.url);
            uni.request({
               url: state.OIDataSAPI+'api/class/attr/GetList?sessionid='+state.loginProvider.loginid.result.session_id,
               data: univerifyInfo,
               method: 'POST',
               dataType:"json",
               success: (_res) => {
                  // console.log(_res);
                  const ret = _res.data
                  if (ret.err_code == 0) {
                     commit("classAttrList",ret);
                     resolve(ret);
                  } else {
                     reject({"errMsg":ret.err_msg});
                  }
               },
               fail: (err) => {
                  // console.log(err);
                  reject(err);
               }
            })
         })
      },
      // api/class/attr/GetList?sessionid=SESSION_ID
      // Mobox3得到数据类属性
      subClassAttrGetList: function({
         commit,
         state
      }, univerifyInfo) {
         return new Promise((resolve, reject) => {
            // console.log(state.url);
            uni.request({
               url: state.OIDataSAPI+'api/class/attr/GetList?sessionid='+state.loginProvider.loginid.result.session_id,
               data: univerifyInfo,
               method: 'POST',
               dataType:"json",
               success: (_res) => {
                  // console.log(_res);
                  const ret = _res.data
                  if (ret.err_code == 0) {
                     commit("subClassAttrList",ret);
                     resolve(ret);
                  } else {
                     reject({"errMsg":ret.err_msg});
                  }
               },
               fail: (err) => {
                  // console.log(err);
                  reject(err);
               }
            })
         })
      },
      // api/dict/item/GetInfo?sessionid=SESSION_ID
      // Mobox3得到字典项列表
      DictItemGetList: function({
         commit,
         state
      }, univerifyInfo) {
         return new Promise((resolve, reject) => {
            // console.log(state.url);
            uni.request({
               url: state.OIMoboxSAPI+'api/dict/item/GetInfo?sessionid='+state.loginProvider.loginid.result.session_id,
               data: univerifyInfo,
               method: 'POST',
               dataType:"json",
               success: (_res) => {
                  // console.log(_res);
                  const ret = _res.data
                  if (ret.err_code == 0) {
                     resolve(ret);
                  } else {
                     reject({"errMsg":ret.err_msg});
                  }
               },
               fail: (err) => {
                  // console.log(err);
                  reject(err);
               }
            })
         })
      },
      // api/dataobj/Create?sessionid=SESSION_ID
      // Mobox3创建数据对象
      createDataObj: function({
         commit,
         state
      }, univerifyInfo) {
         return new Promise((resolve, reject) => {
             // console.log(state.url);
            uni.request({
               url: state.OIDataSAPI+'api/dataobj/Create?sessionid='+state.loginProvider.loginid.result.session_id,
               data: univerifyInfo,
               method: 'POST',
               dataType:"json",
               success: (_res) => {
                  // console.log(_res);
                  const ret = _res.data
                  if (ret.err_code == 0) {
                     resolve(ret);
                  } else {
                     reject({"errMsg":ret.err_msg});
                  }
               },
               fail: (err) => {
                  console.log(err);
                  reject(err);
               }
            })
         })
      },
      // api/class/uistyle/GetInfo?sessionid=SESSION_ID
      // Mobox3得到数据类显示样式信息
      UIStyleGetInfo: function({
         commit,
         state
      }, univerifyInfo) {
         return new Promise((resolve, reject) => {
            // console.log(state.loginProvider.loginid.result.session_id);
            uni.request({
               url: state.OIDataSAPI+'api/class/uistyle/GetInfo?sessionid='+state.loginProvider.loginid.result.session_id,
               data: univerifyInfo,
               method: 'POST',
               dataType:"json",
               success: (_res) => {
                  // console.log(_res);
                  const ret = _res.data
                  if (ret.err_code == 0) {
                     // commit("areaFunc",ret);
                     resolve(ret);
                  } else {
                     reject({"errMsg":ret.err_msg});
                  }
               },
               fail: (err) => {
                  // console.log(err);
                  reject(err);
               }
            })
         })
      },
      // api/dataobj/RunCustomEvent?sessionid=SESSION_ID
      // Mobox3执行自定义脚本
      runCustomEvent: function({
         commit,
         state
      }, univerifyInfo) {
         return new Promise((resolve, reject) => {
            // console.log(state.loginProvider.loginid.result.session_id);
            uni.request({
               url: state.OIDataSAPI+'api/dataobj/RunCustomEvent?sessionid='+state.loginProvider.loginid.result.session_id,
               data: univerifyInfo,
               method: 'POST',
               dataType:"json",
               success: (_res) => {
                  // console.log(_res);
                  const ret = _res.data
                  if (ret.err_code == 0) {
                     // commit("areaFunc",ret);
                     resolve(ret);
                  } else {
                     reject({"errMsg":ret.err_msg});
                  }
               },
               fail: (err) => {
                  // console.log(err);
                  reject(err);
               }
            })
         })
      },
      // api/dataobj/Delete?sessionid=SESSION_ID
      // Mobox3删除数据对象
      dataObjDel: function({
         commit,
         state
      }, univerifyInfo) {
         return new Promise((resolve, reject) => {
            // console.log(state.loginProvider.loginid.result.session_id);
            uni.request({
               url: state.OIDataSAPI+'api/dataobj/Delete?sessionid='+state.loginProvider.loginid.result.session_id,
               data: univerifyInfo,
               method: 'POST',
               dataType:"json",
               success: (_res) => {
                  // console.log(_res);
                  const ret = _res.data
                  if (ret.err_code == 0) {
                     // commit("areaFunc",ret);
                     resolve(ret);
                  } else {
                     reject({"errMsg":ret.err_msg});
                  }
               },
               fail: (err) => {
                  // console.log(err);
                  reject(err);
               }
            })
         })
      },
      
   }
})